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.

Reply via email to