[
https://issues.apache.org/jira/browse/HBASE-24850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17175176#comment-17175176
]
Anoop Sam John commented on HBASE-24850:
----------------------------------------
We should optimize it at the CellComparatorImpl level itself so that all flows
can take adv. This can be an issue in the overall perf issue which deal with so
many Cells and compares. (The other 2.x perf issue of filtering cells in a
range scan - HBASE-24637 )
In the initial time of CellComparatorImpl , there were some optimizations and
so many overloaded compareXXX methods which takes not just Cells but few
offsets/lengths also.. I think eventually got cleaned up. But such cleanup
affect perf very much is what we seeing now.
In case of KeyValue the biggest adv is that we know it is a single contiguous
datastructure backed object and so have ways to parse offset/length with out
doing back to back decoding of other lengths every time. In a generic Cell and
CellComparator such assumptions are not possible. But normally in HBase most of
the time, the Cells flowing will be KV or BBKV both backed by contiguous
datastructure .. We can think of having a new interface to mark such Cells and
a CellComparator impl to take adv of that. This needs a bigger effort but its
worth.
> 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.4.0
> Reporter: Anoop Sam John
> Priority: Critical
> Fix For: 2.0.0
>
>
> 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)