[ https://issues.apache.org/jira/browse/CASSANDRA-6692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13932634#comment-13932634 ]
Jonathan Ellis commented on CASSANDRA-6692: ------------------------------------------- Strongly dislike this pattern: {code} if (updateF == null) updateF = UpdateFunction.NoOp.instance(); {code} Prefer not modifying parameters (making caller pass NoOp) and optionally adding an assert to make it obvious. Will commit with that change. > 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.2#6252)