[
https://issues.apache.org/jira/browse/HBASE-20480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16467208#comment-16467208
]
Anastasia Braginsky commented on HBASE-20480:
---------------------------------------------
I am back with the fix suggestion. As explained in the description while binary
searching through CCM (given Cell c as an input) we need to create temporary
cell objects in order to perform the comparison. One binary search
approximately creates 20 such objects, which are later a subject for garbage
collection. This creates unnecessary overhead when running read commands. We
suggest to use and reuse the ThreadLocal variables per CCM, so the Cell's
object is reset and then reused for next comparison. According to preliminary
experiments this gives about 3% performance boost in read-only scenarios. The
suggested fix is attached. Your ideas are very welcome!
> Multiple one-time cell objects are allocated and de-allocated when working
> with CCM
> -----------------------------------------------------------------------------------
>
> Key: HBASE-20480
> URL: https://issues.apache.org/jira/browse/HBASE-20480
> Project: HBase
> Issue Type: Sub-task
> Reporter: Anastasia Braginsky
> Priority: Major
> Attachments: HBASE-20480-V02.patch
>
>
> We believe that the cause for some read performance degradation while working
> with CellChunkMap (CCM). Multiple one-time cell objects are allocated and
> de-allocated when performing multiple reads and working with CCM MemStore. We
> have a couple of ideas for solution. More details will follow.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)