diff options
author | Arne Juul <arnej@verizonmedia.com> | 2021-01-29 15:14:22 +0000 |
---|---|---|
committer | Arne Juul <arnej@verizonmedia.com> | 2021-02-01 08:48:43 +0000 |
commit | a0491a1d83c334c3c2f370d2ca2b905874400220 (patch) | |
tree | a4c245dcaf5ecf75d7e50b32c6aa5a8ced16c437 /document/src/main/java/com/yahoo/document/serialization/VespaDocumentSerializer6.java | |
parent | 4b270e67b464994a73b65feaf1f4382fdeb02fdd (diff) |
keep serialized tensor in TensorFieldValue
* do lazy deserialization in getTensor() and getTensorType()
* avoid re-serializing when forwarding a TensorFieldValue
Diffstat (limited to 'document/src/main/java/com/yahoo/document/serialization/VespaDocumentSerializer6.java')
-rw-r--r-- | document/src/main/java/com/yahoo/document/serialization/VespaDocumentSerializer6.java | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/document/src/main/java/com/yahoo/document/serialization/VespaDocumentSerializer6.java b/document/src/main/java/com/yahoo/document/serialization/VespaDocumentSerializer6.java index 3fca853b4d1..1a5c5c8257b 100644 --- a/document/src/main/java/com/yahoo/document/serialization/VespaDocumentSerializer6.java +++ b/document/src/main/java/com/yahoo/document/serialization/VespaDocumentSerializer6.java @@ -290,10 +290,10 @@ public class VespaDocumentSerializer6 extends BufferSerializer implements Docume @Override public void write(FieldBase field, TensorFieldValue value) { - if (value.getTensor().isPresent()) { - byte[] encodedTensor = TypedBinaryFormat.encode(value.getTensor().get()); - buf.putInt1_4Bytes(encodedTensor.length); - buf.put(encodedTensor); + var encodedTensor = value.getSerializedTensor(); + if (encodedTensor.isPresent()) { + buf.putInt1_4Bytes(encodedTensor.get().length); + buf.put(encodedTensor.get()); } else { buf.putInt1_4Bytes(0); } |