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