[ https://issues.apache.org/jira/browse/HBASE-7755?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13570366#comment-13570366 ]
Andrew Purtell commented on HBASE-7755: --------------------------------------- v1 looks plausible. Maybe the blockcache could own the LAB for block encoding, since it's already allocating another, and pass it down to BufferedDataBlockEncoder? > 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 > Fix For: 0.94.6 > > Attachments: 7755-0.94-W_I_P_v1.txt, 7755-0.94-WORK_IN_PROGRESS.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 is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira