You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2011/01/17 07:22:44 UTC

[jira] Issue Comment Edited: (CASSANDRA-1255) Explore interning keys and column names

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

Jonathan Ellis edited comment on CASSANDRA-1255 at 1/17/11 1:20 AM:
--------------------------------------------------------------------

I expect this to show negligible performance impact on a fresh JVM, but since column names on "static" CFs can be GCd almost 100% in young generation this should result in a lower rate of promotion to old gen, which in turn means lower rate of heap fragmentation and less frequent STW collections of old gen to compact/defragment.

      was (Author: jbellis):
    I expect this to show negligible performance impact on a fresh JVM, but once the heap starts getting fragmented this should result in a reduction in promotion to old gen, since column names on "static" CFs can be GCd almost 100% in young generation.
  
> 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.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.