Anoop Sam John created HBASE-14186: -------------------------------------- Summary: Read mvcc vlong optimization Key: HBASE-14186 URL: https://issues.apache.org/jira/browse/HBASE-14186 Project: HBase Issue Type: Sub-task Reporter: Anoop Sam John Assignee: Anoop Sam John Fix For: 2.0.0
{code} for (int idx = 0; idx < remaining; idx++) { byte b = blockBuffer.getByteAfterPosition(offsetFromPos + idx); i = i << 8; i = i | (b & 0xFF); } {code} Doing the read as in case of BIG_ENDIAN. After HBASE-12600, we tend to keep the mvcc and so byte by byte read looks eating up lot of CPU time. (In my test HFileReaderImpl#_readMvccVersion comes on top in terms of hot methods). We can optimize here by reading 4 or 2 bytes in one shot when the length of the vlong is more than 4 bytes. We will in turn use UnsafeAccess methods which handles ENDIAN. -- This message was sent by Atlassian JIRA (v6.3.4#6332)