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

Bryan Duxbury commented on THRIFT-594:
--------------------------------------

I was not imagining that we'd immediately support automatic interning. 
Interning is likely to take up some cpu time, and its likely to be the case 
that only certain structs would benefit from interning. As such, I would just 
expect the user to intern the fields/objects they expect to actually gain 
benefit.

> 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