[ 
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

        

Reply via email to