[ 
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]

Reply via email to