Darrel Schneider created GEODE-6579:
---------------------------------------

             Summary: Creating a String during deserialization could be 
optimized
                 Key: GEODE-6579
                 URL: https://issues.apache.org/jira/browse/GEODE-6579
             Project: Geode
          Issue Type: Improvement
          Components: serialization
            Reporter: Darrel Schneider


When creating a string during deserialization from data that we know is in the 
ASCII character set (each character can be represented by one byte) we 
currently read all the bytes into a temporary byte array and then create a 
String instance by giving it that byte array. The String constructor has to 
create its own char array and then copy all the bytes into it. After that the 
byte array is garbage.

We could instead directly create a char array, fill it by reading each byte 
from the DataInput into it and then using reflection to directly set this char 
array as the value field of the String instance we just created (as an empty 
String). This prevents an extra copy of the data and reduces garbage creation.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to