Add "intern" method to generated structs
----------------------------------------
Key: THRIFT-594
URL: https://issues.apache.org/jira/browse/THRIFT-594
Project: Thrift
Issue Type: New Feature
Components: Compiler (Java), Library (Java)
Affects Versions: 0.2
Reporter: Bryan Duxbury
Priority: Minor
Fix For: 0.2
Thrift structs can take up a lot of memory in Java. In my particular
application, many of the structs I load have common subcomponents. When
deserializing these structs today, each copy of the common subcomponents takes
up a fresh chunk of memory.
To reduce this memory usage, I propose that we add an "intern" method to Thrift
structs. This method would maintain a static class-level cache of canonical
versions of instances of objects. When calling "intern", if the object was not
in the cache, it would add it and return the same struct. If it was in the
cache, it would return the canonical version, allowing the non-canonical
version to be dropped during garbage collection.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.