You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Johan Oskarsson (JIRA)" <ji...@apache.org> on 2009/09/03 11:08:32 UTC

[jira] Updated: (CASSANDRA-420) Improve performance of BinaryMemtable sort phase

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

Johan Oskarsson updated CASSANDRA-420:
--------------------------------------

    Attachment: CASSANDRA-420.patch

This patch changes the decorated keys to be stored as an object with a BigInteger and a String as member variables instead of both values in a String. This means we can avoid a lot of the heavy lifting in the comparator. 

In a non scientific mini benchmark the sorting phase takes an order of magnitude shorter time with the patch applied. I also see double throughput per node when loading data from Hadoop.

The patch needs a bit more work, comments etc but as per IRC discussion I am putting it up so others can weigh in. Should we start using the DecoratedKey class or a version thereof more extensively instead of the String we use now?

> Improve performance of BinaryMemtable sort phase
> ------------------------------------------------
>
>                 Key: CASSANDRA-420
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-420
>             Project: Cassandra
>          Issue Type: Improvement
>    Affects Versions: 0.5
>            Reporter: Johan Oskarsson
>            Priority: Minor
>             Fix For: 0.5
>
>         Attachments: CASSANDRA-420.patch
>
>
> The BinaryMemtable sorts an array of decorated keys. There are a lot of string operations and object allocation in the comparator that could be avoided to improve performance..

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.