[ 
https://issues.apache.org/jira/browse/CASSANDRA-6692?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Benedict updated CASSANDRA-6692:
--------------------------------

    Attachment: 6692.3.txt

And one more change: for the same reason as stated in the description, stack 
allocation of the cursors is definitely not happening, so there's no point 
allocating them with MAX_DEPTH room, since most of the time they'll only need a 
depth of 1 or 2. Attached a patch that determines the depth of the btree when 
the Cursor is reset(), and increases the size of its stack if it is too small.

> AtomicBTreeColumns Improvements
> -------------------------------
>
>                 Key: CASSANDRA-6692
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6692
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Benedict
>            Assignee: Benedict
>            Priority: Minor
>              Labels: easyfix, performance
>             Fix For: 2.1 beta2
>
>         Attachments: 6692.3.txt, 6692.fix, patch.txt
>
>
> There are two improvements to make to the BTree code that should help:
> 1) It turns out Stack Allocation is more rubbish than we had hoped, and so 
> the fast route actually allocates garbage. It's unlikely this reduces 
> throughput, but the increased young-gen pressure is probably unwelcome. I 
> propose to remove the fast route for now.
> 2) It is not uncommon to race to perform an update, so that the new values 
> are actually out-of-date when we come to modify the tree. In this case the 
> update should recognise that the original (portion of) the tree has not been 
> modified, and simply return it, without allocating a new one.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to