[ 
https://issues.apache.org/jira/browse/CASSANDRA-1255?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12985243#action_12985243
 ] 

Stu Hood commented on CASSANDRA-1255:
-------------------------------------

* I'm not sure I understand the reasoning behind not interning super column 
names, though they should probably be interned in a separate pool
* It might be worthwhile to add logic to periodically clear the pool if it is 
full (memtable flush count % x or something): workloads might change over time

> Explore interning keys and column names
> ---------------------------------------
>
>                 Key: CASSANDRA-1255
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1255
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Stu Hood
>            Assignee: Jonathan Ellis
>            Priority: Minor
>             Fix For: 0.7.1
>
>         Attachments: 1255-v2.txt, 1255-v3.txt, 1255.txt
>
>   Original Estimate: 8h
>  Remaining Estimate: 8h
>
> With multiple Memtables, key caches and row caches holding DecoratedKey 
> references, it could potentially be a huge memory savings (and relief to GC) 
> to intern DecoratedKeys. Taking the idea farther, for the skinny row pattern, 
> and for certain types of wide row patterns, interning of column names could 
> be very beneficial as well (although we would need to wrap the byte[]s in 
> something for hashCode/equals).
> This ticket should explore the benefits and overhead of interning.
> Google collections/guava MapMaker is a very convenient way to create this 
> type of cache: example call: 
> http://stackoverflow.com/questions/2865026/use-permgen-space-or-roll-my-own-intern-method/2865083#2865083

-- 
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