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

Jonathan Ellis commented on CASSANDRA-1651:
-------------------------------------------

bq. Memtables?

You're right, it could be useful for column names in a memtable for "object 
data" CFs that contain mostly the same columns.

How would you distinguish between these and "materialized view" CFs where the 
interning would burn cycles for no benefit?  (Manually configured hint is fine, 
just curious if you thought of a better way.)

Interning memtables is mostly (entirely?) orthogonal to how we allocate 
ByteBuffers though:

bq. it doesn't need to be a new buffer

I was unclear.  It needs to be a new ByteBuffer (but not a new byte[] internal 
to that). Otherwise you have no way to compare to your source of interned 
ByteBuffers.  So,

1. For both writes and reads it does matter how you create those inital 
ByteBuffers
2. We will want to intern column names on writes, but on reads, there is no 
point in dropping the initial BB for a reference to the interned one

> Improve read performance by using byte array slabs
> --------------------------------------------------
>
>                 Key: CASSANDRA-1651
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1651
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: T Jake Luciani
>            Assignee: T Jake Luciani
>            Priority: Minor
>             Fix For: 0.7.0
>
>         Attachments: 1651_v1.txt
>
>
> Now that the code has switched to byte buffers internally,  it should be 
> possible to improve read performance by reducing the number of byte array 
> allocations.
> This patch accomplishes this by and re-using sections of a larger byte array 
> slab.
> I've benchmarked it locally and seen a slight improvement on reads, a larger 
> scale benchmark should be performed.
> Also the size of a slab can be configured in cassandra.yaml

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