[ 
https://issues.apache.org/jira/browse/THRIFT-594?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12761293#action_12761293
 ] 

David Reiss commented on THRIFT-594:
------------------------------------

Yeah, I thought of that, but won't you have to pass a boolean around anyway to 
determine if things should be interned at read-time or not?

> 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