[ https://issues.apache.org/jira/browse/HADOOP-9601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13704299#comment-13704299 ]
Gopal V commented on HADOOP-9601: --------------------------------- The GET_ARRAYS() is a macro because it assigns to 4 local variables & needs six other local args. Making it a function will not make it any more readable or simpler to understand. And RELEASE_ARRAYS() is a macro simply because the other one is. Will check for t2 == t1 for the unit test. But the likelihood of hitting that is rather rare because we're checksumming 512Mb of data in the loop. > Support native CRC on byte arrays > --------------------------------- > > Key: HADOOP-9601 > URL: https://issues.apache.org/jira/browse/HADOOP-9601 > Project: Hadoop Common > Issue Type: Improvement > Components: performance, util > Affects Versions: 3.0.0 > Reporter: Todd Lipcon > Assignee: Gopal V > Labels: perfomance > Attachments: HADOOP-9601-bench.patch, > HADOOP-9601-rebase+benchmark.patch, HADOOP-9601-trunk-rebase-2.patch, > HADOOP-9601-trunk-rebase.patch, HADOOP-9601-WIP-01.patch, > HADOOP-9601-WIP-02.patch > > > When we first implemented the Native CRC code, we only did so for direct byte > buffers, because these correspond directly to native heap memory and thus > make it easy to access via JNI. We'd generally assumed that accessing byte[] > arrays from JNI was not efficient enough, but now that I know more about JNI > I don't think that's true -- we just need to make sure that the critical > sections where we lock the buffers are short. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira