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

nkeywal commented on HBASE-1938:
--------------------------------

Thanks Stack! It could be considered as a JDK bug, as it makes the 
EntryIterator useless when you manipulate large lists. From a HBase point of 
view, there is anyway no need to use an EntryIterator so it's simpler.

Here is the patch.
- 20110726_1938_KeyValueSkipListSet.patch : Use the native ValueIterator 
instead of a wrapper on EntryIterator, suppression an object creation for each 
call to the iterator.
- 20110726_1938_MemStoreScanPerformance.java : Simple test case to measure scan 
performances
- 20110726_1938_MemStore.patch : multiple small performance improvements on 
MemStoreScanner

It's obviously worth a review, especially the last one... Unit tests run fine.

> Make in-memory table scanning faster
> ------------------------------------
>
>                 Key: HBASE-1938
>                 URL: https://issues.apache.org/jira/browse/HBASE-1938
>             Project: HBase
>          Issue Type: Improvement
>          Components: performance
>            Reporter: stack
>            Assignee: stack
>            Priority: Blocker
>         Attachments: MemStoreScanPerformance.java, 
> MemStoreScanPerformance.java, caching-keylength-in-kv.patch, test.patch
>
>
> This issue is about profiling hbase to see if I can make hbase scans run 
> faster when all is up in memory.  Talking to some users, they are seeing 
> about 1/4 million rows a second.  It should be able to go faster than this 
> (Scanning an array of objects, they can do about 4-5x this).

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to