[ 
https://issues.apache.org/jira/browse/SOLR-2679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13169224#comment-13169224
 ] 

Maxim Valyanskiy commented on SOLR-2679:
----------------------------------------

I think that there is no performance degradation after apply of my patch - I 
hope that JIT compiler is smart enough to optimize that method call when we 
read from stream buffer. I can make a benchmark if you think that proof is 
required.

My patch brings other change - it builds character array while reading data 
from (buffered) stream so it may be even faster when very large text field is 
read from network stream. Current version reads complete text field into byte 
array and then builds character array.
                
> Optimize memory usage in JavaBinCodec.readStr()
> -----------------------------------------------
>
>                 Key: SOLR-2679
>                 URL: https://issues.apache.org/jira/browse/SOLR-2679
>             Project: Solr
>          Issue Type: Improvement
>          Components: clients - java, Response Writers, update
>    Affects Versions: 3.3
>            Reporter: Maxim Valyanskiy
>             Fix For: 3.6, 4.0
>
>         Attachments: SOLR-2679.patch
>
>
> In Solr 3.3, JavaBinCodec.readStr() reads complete string into byte[] and 
> then converts it into String. FastInputStream is already buffered, so this it 
> not necessary and may take a lot of memory if data string is large.
> This patch replaces usage of big byte[] with usage of dis.readUnsignedByte() 
> for getting characters directly from stream.
> Patch reduces memory usage and may slightly improve performance of reading 
> text data in javabin-codec.
> JavaBinCodec.readStr() function already has unit test in TestJavaBinCodec, no 
> additional unit test is required.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to