[ 
https://issues.apache.org/jira/browse/HBASE-7755?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14952406#comment-14952406
 ] 

Lars Hofhansl commented on HBASE-7755:
--------------------------------------

Just thought about this again. It's interesting that when I cannot find a good 
slab size here, how come we can find a good slab size for the memstore? I want 
to think about this again.

> Experiment with LAB in BlockEndcoding
> -------------------------------------
>
>                 Key: HBASE-7755
>                 URL: https://issues.apache.org/jira/browse/HBASE-7755
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Lars Hofhansl
>         Attachments: 7755-0.94-WORK_IN_PROGRESS.txt, 7755-0.94-W_I_P_v1.txt
>
>
> I was looking at and profiling the BlockEncoding code to figure out how to 
> make it faster. One issue that jumped out was we call 
> ByteBuffer.allocate(...) for each single KV.
> As an experiment I tried using the MemStoreLAB code to allocate those buffers.
> Here are some preliminary numbers, all scanning 10m rows (all in cache):
> * no encoding: 5.2s
> * FAST_DIFF without patch: 7.3s
> * FAST_DIFF with patch and small LAB: 4.1s
> * FAST_DIFF with patch and large LAB: 11s
> So this is very sensitive to the right sizing of the LAB.
> Need to do a bit more testing, but it seems that there is a chance to 
> actually make scanning with block encoding faster than without!



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to