Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
javabin format uses UTF8 format for String serialization and java Strings are UTF16 and java String always days a buffer copy of those UTF16 input.
So, what I propose is
- we create a byte[] backed CharSequence implementation say Utf8CharSequence.
- Optionally, javabinCodec can should be able to return this Utf8CharSequence instead of all Strings
- If a charAt() or toString() call is made to Utf8CharSequence it creates a String and cache it
- When this Utf8CharSequence needs to be serialized again in javabin format it should copy the underlying utf8 byte[]
Attachments
Issue Links
- is related to
-
SOLR-12983 JavabinLoader should avoid creating String Objects and create UTF8CharSequence fields from byte[]
- Closed
-
SOLR-13130 during the ResponseBuilder.STAGE_GET_FIELDS avoid creation of Strings
- Closed
-
SOLR-13171 Make it possible to stream query result without creating java objects
- Closed
- relates to
-
SOLR-12885 BinaryResponseWriter (javabin format) should directly copy from Bytesref to output
- Resolved