geode-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dick Cavender (Jira)" <>
Subject [jira] [Closed] (GEODE-6579) Creating a String during deserialization could be optimized
Date Thu, 26 Sep 2019 18:03:06 GMT


Dick Cavender closed GEODE-6579.

> Creating a String during deserialization could be optimized
> -----------------------------------------------------------
>                 Key: GEODE-6579
>                 URL:
>             Project: Geode
>          Issue Type: Improvement
>          Components: serialization
>            Reporter: Darrel Schneider
>            Assignee: Darrel Schneider
>            Priority: Major
>              Labels: optimization
>             Fix For: 1.10.0
>          Time Spent: 2h 10m
>  Remaining Estimate: 0h
> 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

View raw message