[
https://issues.apache.org/jira/browse/HBASE-17332?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15760762#comment-15760762
]
Anoop Sam John commented on HBASE-17332:
----------------------------------------
Am fine moving that throws also.
bq.The array size is 128, and Byte.MAX_VALUE = 127, so encoderId=127 have no
problem
I see.. Ya ok then.. But then why this test this way?
DataBlockEncoding.getDataBlockEncoderById(Byte.MAX_VALUE);
44 fail("Illegal encoderId, should get IllegalArgumentException.");
> Replace HashMap to Array for DataBlockEncoding.idToEncoding
> -----------------------------------------------------------
>
> Key: HBASE-17332
> URL: https://issues.apache.org/jira/browse/HBASE-17332
> Project: HBase
> Issue Type: Improvement
> Affects Versions: 2.0.0
> Reporter: binlijin
> Assignee: binlijin
> Fix For: 2.0.0
>
> Attachments: DBE.idToEncoding.png,
> DBE.idToEncoding_afterOptimize.png, HBASE-17332.V2.patch, HBASE-17332.patch
>
>
> Array is faster than HashMap also no need to autoboxing.
> I can see the DataBlockEncoding#getDataBlockEncoderById is a hot method if
> enable encoding in my perf test(Random read, all data cache in
> LruBlockCache).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)