[ https://issues.apache.org/jira/browse/HBASE-17233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16850046#comment-16850046 ]
Biju Nair commented on HBASE-17233: ----------------------------------- So the conclusion is {{Arrays.copyOfRange}} is better performing than {{System.arraycopy}}. Correct? By how much? > See if we should replace System.arrayCopy with Arrays.copyOfRange > ----------------------------------------------------------------- > > Key: HBASE-17233 > URL: https://issues.apache.org/jira/browse/HBASE-17233 > Project: HBase > Issue Type: Improvement > Affects Versions: 2.0.0 > Reporter: ramkrishna.s.vasudevan > Assignee: ramkrishna.s.vasudevan > Priority: Major > > Just saw this interesting comment in PB code. Since we deal with byte[] > extensively (when we are onheap) we do lot of copies too. > {code} > * <p>One of the noticeable costs of copying a byte[] into a new array using > * {@code System.arraycopy} is nullification of a new buffer before the > copy. It has been shown > * the Hotspot VM is capable to intrisicfy {@code Arrays.copyOfRange} > operation to avoid this > * expensive nullification and provide substantial performance gain. > Unfortunately this does not > * hold on Android runtimes and could make the copy slightly slower due to > additional code in > * the {@code Arrays.copyOfRange}. > {code} > So since we are hotspot VM we could see if the places we use System.arrayCopy > can be replaced with Arrays.copyOfRange. -- This message was sent by Atlassian JIRA (v7.6.3#76005)