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

Huaxiang Sun commented on HBASE-24850:
--------------------------------------

>From Ram's inline output, 
{code:java}
    496  763       4       org.apache.hadoop.hbase.CellComparatorImpl::compare 
(1332 bytes)
    497  758       3       java.util.TreeMap::fixAfterInsertion (267 bytes)
                              @ 28   java.util.TreeMap::parentOf (13 bytes)
                              @ 32   java.util.TreeMap::parentOf (13 bytes)
                              @ 35   java.util.TreeMap::parentOf (13 bytes)
                              @ 38   java.util.TreeMap::leftOf (13 bytes)
                              @ 45   java.util.TreeMap::parentOf (13 bytes)
                              @ 48   java.util.TreeMap::parentOf (13 bytes)
                              @ 9   
org.apache.hadoop.hbase.CellComparatorImpl::compare (8 bytes)   inline (hot)
                                @ 4   
org.apache.hadoop.hbase.CellComparatorImpl::compare (127 bytes)   inline (hot)
                                  @ 26   
org.apache.hadoop.hbase.CellComparatorImpl::compare (1332 bytes)   hot method 
too big

{code}
I think the following method is too big to be inlined. Can we make it smaller 
to fit to the default 325 bytes?
{code:java}
public final static int compare(final ContiguousCellFormat l, final 
ContiguousCellFormat r, boolean ignoreSequenceid) {{code}

> CellComparator perf improvement
> -------------------------------
>
>                 Key: HBASE-24850
>                 URL: https://issues.apache.org/jira/browse/HBASE-24850
>             Project: HBase
>          Issue Type: Improvement
>          Components: Performance, scan
>    Affects Versions: 2.0.0
>            Reporter: Anoop Sam John
>            Assignee: ramkrishna.s.vasudevan
>            Priority: Critical
>             Fix For: 3.0.0-alpha-1, 2.5.0
>
>         Attachments: flamegraph.svg, flamegraph_opt.svg, op_withnoopt, 
> op_withopt
>
>
> We have multiple perf issues in 2.x versions compared to 1.x.  Eg: 
> HBASE-24754, HBASE-24637.
> The pattern is clear that where ever we do more and more Cell compares, there 
> is some degrade.   In HBASE-24754, with an old KVComparator style comparator, 
> we see much better perf for the PutSortReducer.  (Again the gain is huge 
> because of large number of compare ops that test is doing).  This issue is to 
> address and optimize compares generally in CellComparatorImpl itself.



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

Reply via email to