[
https://issues.apache.org/jira/browse/HBASE-20564?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16476669#comment-16476669
]
stack commented on HBASE-20564:
-------------------------------
I see what happened. All my green runs were in hbase-common only. Not tests in
hbase-server. Let me add nonsense change this time.
On patch, yeah, been in here. This is our hottest code path. Cells coming
through here on average are four levels deep in subclassing implementing four
or five Interfaces. We seem to be slow dispatching. Been trying to figure it
making incrementals.
The meta compare needs the same speedup. Will do it later. Fix build first.
Let me attach a fix like Teds. It fixes a few small things (we were skipping
sequenceid test if we went the fast path) and formalizes the compare(Cell,
Cell, seqid) by putting it back in the CellComparator Interface.
Uploaded [^0001-HBASE-20564-addendum.txt]
> Tighter ByteBufferKeyValue Cell Comparator
> ------------------------------------------
>
> Key: HBASE-20564
> URL: https://issues.apache.org/jira/browse/HBASE-20564
> Project: HBase
> Issue Type: Sub-task
> Components: Performance
> Reporter: stack
> Assignee: stack
> Priority: Major
> Fix For: 2.0.1
>
> Attachments: 0001-HBASE-20564-addendum.txt,
> 1.4.pe.write.0510.96203.cpu.svg, 2.p3.write2.0514.104236.cpu.svg,
> 2.pe.write.135142.cpu.svg, 20564.addendum, HBASE-20564.branch-2.0.001.patch,
> HBASE-20564.branch-2.0.002.patch, HBASE-20564.branch-2.patch, hits.png
>
>
> Comparing Cells in hbase2 takes almost 3x the CPU.
> In hbase1, its a keyValue backed by a byte array caching a few important
> values.. In hbase2, its a NoTagByteBufferChunkKeyValue(?) deserializing the
> row/family/qualifier lengths repeatedly.
> I tried making a purposed comparator -- one that was not generic -- and it
> seemed to have a nicer profile coming close to hbase1 in percentage used
> (I'll post graphs) when I ran it in my perpetual memstore filler (See scripts
> attached to HBASE-20483). It doesn't work when I try to run it on cluster.
> Let me run unit tests to see if it can figure what I have wrong.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)