[
https://issues.apache.org/jira/browse/SOLR-12924?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Noble Paul updated SOLR-12924:
------------------------------
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[]
was:
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.
* Optionally, javabinCodec can should be able to return this CharSequence
instead of all Strings
* If a {{charAt()}} or {{toString()}} call is made to this {{CharSequence}} we
create a String and cache it
* When this {{CharSequence needs to be serialized again in javabin format it
should copy the underlying utf8 byte[]
> Optimize JavabinCodec to use byte[] backed CharSequence instead of String
> -------------------------------------------------------------------------
>
> Key: SOLR-12924
> URL: https://issues.apache.org/jira/browse/SOLR-12924
> Project: Solr
> Issue Type: Improvement
> Security Level: Public(Default Security Level. Issues are Public)
> Reporter: Noble Paul
> Priority: Major
>
> 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[]
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]