[
https://issues.apache.org/jira/browse/THRIFT-10?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12669445#action_12669445
]
Bryan Duxbury commented on THRIFT-10:
-------------------------------------
Glancing at this issue again, I wonder if there would be more substantial
benefits to be had if we changed the code generator to have constant, static
field descriptors and such. We could avoid lots of repeated object allocations
with this change, especially for structs with lots of fields.
> Descriptors used during serialization should be immutable objects
> -----------------------------------------------------------------
>
> Key: THRIFT-10
> URL: https://issues.apache.org/jira/browse/THRIFT-10
> Project: Thrift
> Issue Type: Improvement
> Components: Library (Java)
> Reporter: Johan Stuyts
> Priority: Minor
> Attachments: ImmutableProtocolComponentDescriptors2.patch,
> SerializationBenchmarkMain.java
>
>
> The descriptors for structures, messages, types, etc. in package
> {{com.facebook.thrift.protocol}} which are used during (de-)serialization
> have mutable attributes. This forces the creation of these descriptors for
> each use even if the data is constant in many cases.
> By changing the descriptors to be immutable, structures and protocols can use
> singleton, constant instances during (de-)serialization. This will improve
> performance a bit by preventing the creation of hundreds (thousands?) of
> short-lived objects per second during heavy use of Thrift.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.