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:22:47 UTC

[jira] [Created] (HADOOP-7401) Unit test TestPureJavaCRC32 warmup code warms up the not-so-important loop in PureJavaCRC32.update()

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


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) .

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HADOOP-7401) Unit test TestPureJavaCRC32 warmup code warms up the not-so-important loop in PureJavaCRC32.update()

Posted by "monica beckwith (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-7401?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13052200#comment-13052200 ] 

monica beckwith commented on HADOOP-7401:
-----------------------------------------

Thanks! for the comments. I've updated the patch. I'll post the numbers soon.

> 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
>            Assignee: monica beckwith
>            Priority: Minor
>             Fix For: 0.21.0
>
>         Attachments: hadoop-7401.patch
>
>   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

        

[jira] [Updated] (HADOOP-7401) Unit test TestPureJavaCRC32 warmup code warms up the not-so-important loop in PureJavaCRC32.update()

Posted by "monica beckwith (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-7401?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

monica beckwith updated HADOOP-7401:
------------------------------------

    Attachment:     (was: HADOOP-7401.patch)

> 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
>            Assignee: monica beckwith
>            Priority: Minor
>             Fix For: 0.21.0
>
>         Attachments: hadoop-7401.patch
>
>   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

        

[jira] [Updated] (HADOOP-7401) Unit test TestPureJavaCRC32 warmup code warms up the not-so-important loop in PureJavaCRC32.update()

Posted by "monica beckwith (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-7401?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

monica beckwith updated HADOOP-7401:
------------------------------------

    Fix Version/s: 0.21.0
     Release Note: fixed warmup in the perf test.
           Status: Patch Available  (was: Open)

> 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
>             Fix For: 0.21.0
>
>         Attachments: HADOOP-7401.patch
>
>   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

        

[jira] [Assigned] (HADOOP-7401) Unit test TestPureJavaCRC32 warmup code warms up the not-so-important loop in PureJavaCRC32.update()

Posted by "Tsz Wo (Nicholas), SZE (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-7401?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tsz Wo (Nicholas), SZE reassigned HADOOP-7401:
----------------------------------------------

    Assignee: monica beckwith

Hi Monica, this is an interesting discovery!  Could you also post the results before and after the patch?

BTW, you need to generate patches at the project root directory.  Otherwise, Hadoop QA could not apply it.

> 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
>            Assignee: monica beckwith
>            Priority: Minor
>             Fix For: 0.21.0
>
>         Attachments: HADOOP-7401.patch
>
>   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

        

[jira] [Commented] (HADOOP-7401) Unit test TestPureJavaCRC32 warmup code warms up the not-so-important loop in PureJavaCRC32.update()

Posted by "Hadoop QA (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-7401?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13051336#comment-13051336 ] 

Hadoop QA commented on HADOOP-7401:
-----------------------------------

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12482990/HADOOP-7401.patch
  against trunk revision 1136249.

    +1 @author.  The patch does not contain any @author tags.

    -1 tests included.  The patch doesn't appear to include any new or modified tests.
                        Please justify why no new tests are needed for this patch.
                        Also please list what manual steps were performed to verify this patch.

    -1 patch.  The patch command could not apply the patch.

Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/649//console

This message is automatically generated.

> 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
>             Fix For: 0.21.0
>
>         Attachments: HADOOP-7401.patch
>
>   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

        

[jira] [Updated] (HADOOP-7401) Unit test TestPureJavaCRC32 warmup code warms up the not-so-important loop in PureJavaCRC32.update()

Posted by "monica beckwith (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-7401?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

monica beckwith updated HADOOP-7401:
------------------------------------

    Status: Open  (was: Patch Available)

> 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
>            Assignee: monica beckwith
>            Priority: Minor
>             Fix For: 0.21.0
>
>         Attachments: hadoop-7401.patch
>
>   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

        

[jira] [Updated] (HADOOP-7401) Unit test TestPureJavaCRC32 warmup code warms up the not-so-important loop in PureJavaCRC32.update()

Posted by "monica beckwith (JIRA)" <ji...@apache.org>.
     [ 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

        

[jira] [Updated] (HADOOP-7401) Unit test TestPureJavaCRC32 warmup code warms up the not-so-important loop in PureJavaCRC32.update()

Posted by "monica beckwith (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-7401?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

monica beckwith updated HADOOP-7401:
------------------------------------

    Attachment: HADOOP-7401.patch

> 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
>         Attachments: HADOOP-7401.patch
>
>   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

        

[jira] [Updated] (HADOOP-7401) Unit test TestPureJavaCRC32 warmup code warms up the not-so-important loop in PureJavaCRC32.update()

Posted by "monica beckwith (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-7401?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

monica beckwith updated HADOOP-7401:
------------------------------------

    Status: Patch Available  (was: Open)

> 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
>            Assignee: monica beckwith
>            Priority: Minor
>             Fix For: 0.21.0
>
>         Attachments: hadoop-7401.patch
>
>   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

        

[jira] [Commented] (HADOOP-7401) Unit test TestPureJavaCRC32 warmup code warms up the not-so-important loop in PureJavaCRC32.update()

Posted by "Hadoop QA (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-7401?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13052210#comment-13052210 ] 

Hadoop QA commented on HADOOP-7401:
-----------------------------------

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12483202/hadoop-7401.patch
  against trunk revision 1137724.

    +1 @author.  The patch does not contain any @author tags.

    +1 tests included.  The patch appears to include 3 new or modified tests.

    +1 javadoc.  The javadoc tool did not generate any warning messages.

    +1 javac.  The applied patch does not increase the total number of javac compiler warnings.

    +1 findbugs.  The patch does not introduce any new Findbugs (version 1.3.9) warnings.

    +1 release audit.  The applied patch does not increase the total number of release audit warnings.

    -1 core tests.  The patch failed these core unit tests:
                  org.apache.hadoop.fs.TestGetFileBlockLocations

    +1 system test framework.  The patch passed system test framework compile.

Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/658//testReport/
Findbugs warnings: https://builds.apache.org/job/PreCommit-HADOOP-Build/658//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/658//console

This message is automatically generated.

> 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
>            Assignee: monica beckwith
>            Priority: Minor
>             Fix For: 0.21.0
>
>         Attachments: hadoop-7401.patch
>
>   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

        

[jira] [Updated] (HADOOP-7401) Unit test TestPureJavaCRC32 warmup code warms up the not-so-important loop in PureJavaCRC32.update()

Posted by "Robert Joseph Evans (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-7401?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robert Joseph Evans updated HADOOP-7401:
----------------------------------------

    Status: Open  (was: Patch Available)

Canceling the patch as it no longer applies to trunk, and there are some comments still waiting to be addressed.
                
> 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
>            Assignee: monica beckwith
>            Priority: Minor
>             Fix For: 0.21.0
>
>         Attachments: hadoop-7401.patch
>
>   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.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HADOOP-7401) Unit test TestPureJavaCRC32 warmup code warms up the not-so-important loop in PureJavaCRC32.update()

Posted by "monica beckwith (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-7401?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

monica beckwith updated HADOOP-7401:
------------------------------------

    Attachment: hadoop-7401.patch

> 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
>            Assignee: monica beckwith
>            Priority: Minor
>             Fix For: 0.21.0
>
>         Attachments: hadoop-7401.patch
>
>   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

        

[jira] [Updated] (HADOOP-7401) Unit test TestPureJavaCRC32 warmup code warms up the not-so-important loop in PureJavaCRC32.update()

Posted by "monica beckwith (JIRA)" <ji...@apache.org>.
     [ 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 > 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. 


> 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