You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "monica beckwith (JIRA)" <ji...@apache.org> on 2011/06/17 17:38:47 UTC
[jira] [Updated] (HADOOP-7401) Unit test TestPureJavaCRC32 warmup
code warms up the not-so-important loop in PureJavaCRC32.update()
[ https://issues.apache.org/jira/browse/HADOOP-7401?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
monica beckwith updated HADOOP-7401:
------------------------------------
Description:
When the warmup code sequence in TestPureJavaCRC32.java is executed, it sends size=len=2 and due to the value of 'trials' in for loop in doBench(), the crc.update() gets run > the compile threshold, thus providing the information that 'while 0>len<7' is a hot loop and 'while len>7' is a cold loop. This brings the MB/s number for len > 7 in PureJavaCRC32.update() way down (e.g. ~28.5% for size=len=65536).
The workaround would be to use size=len=>7 (so just having size=len=2101 ahead of size=len=2 will do the trick) in the warmup section.
was:When the warmup code sequence in TestPureJavaCRC32.java is executed, it sends size=len=2 and due to the value of 'trials' in for loop in doBench(), the crc.update() gets run > compile threshold, thus providing the information that 'while 0>len<7' is a hot loop and 'while len>7' is a cold loop. This brings the MB/s number for len > 7 in PureJavaCRC32.update() way down (e.g. ~28.5% for size=len=65536) .
> Unit test TestPureJavaCRC32 warmup code warms up the not-so-important loop in PureJavaCRC32.update()
> ----------------------------------------------------------------------------------------------------
>
> Key: HADOOP-7401
> URL: https://issues.apache.org/jira/browse/HADOOP-7401
> Project: Hadoop Common
> Issue Type: Improvement
> Components: test
> Affects Versions: 0.21.0
> Environment: Solaris-Sparcv9; Solaris-AMD64
> Reporter: monica beckwith
> Priority: Minor
> Original Estimate: 1m
> Remaining Estimate: 1m
>
> When the warmup code sequence in TestPureJavaCRC32.java is executed, it sends size=len=2 and due to the value of 'trials' in for loop in doBench(), the crc.update() gets run > the compile threshold, thus providing the information that 'while 0>len<7' is a hot loop and 'while len>7' is a cold loop. This brings the MB/s number for len > 7 in PureJavaCRC32.update() way down (e.g. ~28.5% for size=len=65536).
> The workaround would be to use size=len=>7 (so just having size=len=2101 ahead of size=len=2 will do the trick) in the warmup section.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira