hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lars Hofhansl (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-6621) Reduce calls to Bytes.toInt
Date Tue, 21 Aug 2012 00:49:38 GMT

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

Lars Hofhansl commented on HBASE-6621:

One more observation. KeyValue.getType() is called a lot. Caching that byte provides a nice
benefit. In my test is tickles another few percent CPU away.
ScannerV2.{next|getKeyValue|readKeyValueLen} now represent a large percentage of the overall
CPU (about 60%), which is the way we want it.

I'll add that to the patch.

@Stack: Did you look at the initial patch or V2?

> Reduce calls to Bytes.toInt
> ---------------------------
>                 Key: HBASE-6621
>                 URL: https://issues.apache.org/jira/browse/HBASE-6621
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Lars Hofhansl
>            Assignee: Lars Hofhansl
>            Priority: Minor
>             Fix For: 0.96.0, 0.94.2
>         Attachments: 6621-0.96.txt, 6621-0.96-v2.txt
> Bytes.toInt shows up quite often in a profiler run.
> It turns out that one source is HFileReaderV2$ScannerV2.getKeyValue().
> Notice that we call the KeyValue(byte[], int) constructor, which forces the constructor
to determine its size by reading some of the header information and calculate the size. In
this case, however, we already know the size (from the call to readKeyValueLen), so we could
just use that.
> In the extreme case of 10000's of columns this noticeably reduces CPU. 

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message