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

Michael Stack commented on HBASE-22671:
---------------------------------------

[~ram_krish] Seems like a benefit. Patch?

> ByteBufferUtils#findCommonPrefix() can be safely changed to 
> ArraysSupport#mismatch()
> ------------------------------------------------------------------------------------
>
>                 Key: HBASE-22671
>                 URL: https://issues.apache.org/jira/browse/HBASE-22671
>             Project: HBase
>          Issue Type: Sub-task
>    Affects Versions: 3.0.0
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>            Priority: Minor
>
> Microbenchmarks reveal that finding the common prefix for encoders can safely 
> be replaced with ArraysSupport#mismatch().
> the microbenchmark just compares Cells that are backed with array and BB. 
> For a 27 bit common row prefix the existing BBUtils#findCommonPrefix
> {code}
> Benchmark                        Mode  Cnt    Score    Error  Units
> PrefixComparator.arrayBBCompare  avgt   10  869.897 ±  9.429  ns/op
> PrefixComparator.arrayCompare    avgt   10  302.074 ± 13.448  ns/op
> PrefixComparator.bbArrayCompare  avgt   10  869.369 ±  5.368  ns/op
> PrefixComparator.bbCompare       avgt   10  409.479 ±  1.587  ns/op
> {code}
> the same with ArraysSupport#mismatch() change gives this
> {code}
> Benchmark                        Mode  Cnt    Score   Error  Units
> PrefixComparator.arrayBBCompare  avgt   10  311.946 ± 1.902  ns/op
> PrefixComparator.arrayCompare    avgt   10  157.010 ± 4.482  ns/op
> PrefixComparator.bbArrayCompare  avgt   10  311.568 ± 1.348  ns/op
> PrefixComparator.bbCompare       avgt   10   92.540 ± 0.501  ns/op
> {code}
> How ever note that this comes in flushes/compaction and not during the read 
> path. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to