[ https://issues.apache.org/jira/browse/CASSANDRA-7107?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13984221#comment-13984221 ]
Benedict commented on CASSANDRA-7107: ------------------------------------- Whilst the main point of this is to tidy up, I also find a roughly 15-20% performance bump for the following stress command: bq. cassandra-stress read n=10000000 -key populate=1..100 -col slice n=fixed\(1000\) size=fixed\(1\) -rate threads=50 -mode thrift I've pushed the changes [here|https://github.com/belliottsmith/cassandra/tree/7107] > General minor tidying of CollationController path > ------------------------------------------------- > > Key: CASSANDRA-7107 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7107 > Project: Cassandra > Issue Type: Improvement > Components: Core > Reporter: Benedict > Assignee: Benedict > Priority: Minor > Fix For: 2.1.0 > > > There is a lot of unnecessary boiler plate when grabbing an iterator from an > in-memory column family. This patch: > * Removes FakeCellName > * Avoids wrapping a non-OnDiskAtomIterator as an OnDiskAtomIterator except > when the wrapping is useful > * Removes ColumnSlice.NavigableSetIterator and creates a simpler more direct > equivalent in ABTC > * Does not construct a SliceIterator in either ABSC or ABTC if only one slice > is requested (just returns that slice as an Iterator) > * Does not construct multiple list indirections in ABSC when constructing a > slice > * Shares forward/reverse iterators in ABSC between slices and full-iteration > * Avoids O(N) comparisons during collation of results into an ABSC, by using > the knowledge that all columns are provided in insertion order from a merge > iterator -- This message was sent by Atlassian JIRA (v6.2#6252)