[
https://issues.apache.org/jira/browse/HBASE-22671?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17026438#comment-17026438
]
ramkrishna.s.vasudevan commented on HBASE-22671:
------------------------------------------------
I don have the patch with me currently but I can try to make one.
> 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)