[
https://issues.apache.org/jira/browse/HBASE-3484?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15080698#comment-15080698
]
Lars Hofhansl commented on HBASE-3484:
--------------------------------------
bq. CSLM optimizes for Comparable keys, so if you specify a custom comparator,
then it has to wrap every key you insert with a wrapper object. Specializing
CSLM for our purposes would easily save 64 bytes per entry on this.
At least with JDK 8 this is not the case. CSLM works without extra objects with
or without a custom comparator.
(The Harmony class linked above has that problem, though.)
> Replace memstore's ConcurrentSkipListMap with our own implementation
> --------------------------------------------------------------------
>
> Key: HBASE-3484
> URL: https://issues.apache.org/jira/browse/HBASE-3484
> Project: HBase
> Issue Type: Improvement
> Components: Performance
> Affects Versions: 0.92.0
> Reporter: Todd Lipcon
> Priority: Critical
> Attachments: WIP_HBASE-3484.patch, hierarchical-map.txt,
> memstore_drag.png
>
>
> By copy-pasting ConcurrentSkipListMap into HBase we can make two improvements
> to it for our use case in MemStore:
> - add an iterator.replace() method which should allow us to do upsert much
> more cheaply
> - implement a Set directly without having to do Map<KeyValue,KeyValue> to
> save one reference per entry
> It turns out CSLM is in public domain from its development as part of JSR
> 166, so we should be OK with licenses.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)