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

Jonathan Ellis commented on CASSANDRA-5020:
-------------------------------------------

I don't think switching to byte[] is crazy either.  We'd save over 50% vs 
ByteBuffer on small columns like ints, even if we are comparing 
off-heap-bytebuffer with on-heap-byte[], simply because BB's extra fields are 
so big.
                
> Time to switch back to byte[] internally?
> -----------------------------------------
>
>                 Key: CASSANDRA-5020
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5020
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Jonathan Ellis
>             Fix For: 2.0
>
>
> We switched to ByteBuffer for column names and values back in 0.7, which gave 
> us a short term performance boost on mmap'd reads, but we gave that up when 
> we switched to refcounted sstables in 1.0.  (refcounting all the way up the 
> read path would be too painful, so we copy into an on-heap buffer when 
> reading from an sstable, then release the reference.)
> A HeapByteBuffer wastes a lot of memory compared to a byte[] (5 more ints, a 
> long, and a boolean).
> The hard problem here is how to do the arena allocation we do on writes, 
> which has been very successful in reducing STW CMS from heap fragmentation.  
> ByteBuffer is a good fit there.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to