On Tue, 21 Nov 2023 21:03:20 GMT, Steve Dohrmann <d...@openjdk.org> wrote:

>> Update: the XorTest::xor results shown in this message used test code from 
>> PR commit 7cc272e862791 which was based on Maurizio Cimadamore's commit 
>> a788f066af17.  The XorTest has since been updated and XorTest::copy is no 
>> longer needed and has been removed from this pull request.  See comment 
>> [here](https://github.com/openjdk/jdk/pull/16575#issuecomment-1820006548) 
>> for updated performance data. 
>> 
>> Below is baseline data collected using a modified version of the 
>> java.lang.foreign.xor micro benchmark referenced by @mcimadamore  in the bug 
>> report.  I collected data on an Ubuntu 22.04 laptop with a Tigerlake 
>> i7-1185G7, which does support AVX512. 
>> 
>> Baseline data
>> Benchmark     (arrayKind)  (sizeKind)  Mode  Cnt           Score          
>> Error  Units
>> --------------------------------------------------------------------------------------
>> XorTest.copy     ELEMENTS       SMALL  avgt   30   584737355.767 ± 
>> 60414308.540  ns/op
>> XorTest.copy     ELEMENTS      MEDIUM  avgt   30   272248995.683 ±  
>> 2924954.498  ns/op
>> XorTest.copy     ELEMENTS       LARGE  avgt   30  1019200210.900 ± 
>> 28334453.652  ns/op
>> XorTest.copy       REGION       SMALL  avgt   30     7399944.164 ±   
>> 216821.819  ns/op
>> XorTest.copy       REGION      MEDIUM  avgt   30    20591454.558 ±   
>> 147398.572  ns/op
>> XorTest.copy       REGION       LARGE  avgt   30    21649266.051 ±   
>> 179263.875  ns/op
>> XorTest.copy     CRITICAL       SMALL  avgt   30       51079.357 ±      
>> 542.482  ns/op
>> XorTest.copy     CRITICAL      MEDIUM  avgt   30        2496.961 ±       
>> 11.375  ns/op
>> XorTest.copy     CRITICAL       LARGE  avgt   30         515.454 ±        
>> 5.831  ns/op
>> XorTest.copy      FOREIGN       SMALL  avgt   30     7558432.075 ±    
>> 79489.276  ns/op
>> XorTest.copy      FOREIGN      MEDIUM  avgt   30    19730666.341 ±   
>> 500505.099  ns/op
>> XorTest.copy      FOREIGN       LARGE  avgt   30    34616758.085 ±   
>> 340300.726  ns/op
>> XorTest.xor      ELEMENTS       SMALL  avgt   30   219832692.489 ±  
>> 2329417.319  ns/op
>> XorTest.xor      ELEMENTS      MEDIUM  avgt   30   505138197.167 ±  
>> 3818334.424  ns/op
>> XorTest.xor      ELEMENTS       LARGE  avgt   30  1189608474.667 ±  
>> 5877981.900  ns/op
>> XorTest.xor        REGION       SMALL  avgt   30    64093872.804 ±   
>> 599704.491  ns/op
>> XorTest.xor        REGION      MEDIUM  avgt   30    81544576.454 ±  
>> 1406342.118  ns/op
>> XorTest.xor        REGION       LARGE  avgt   30    90091424.883 ±   
>> 775577.613  ns/op
>> XorTest.xor      CRITICAL       SMALL  avgt ...
>
> Steve Dohrmann has updated the pull request with a new target base due to a 
> merge or a rebase. The pull request now contains 11 commits:
> 
>  - Merge branch 'master' into memcpy
>  - Updates based on reviewer (sviswa7) comments including
>    - use asserts instead of conditionals in two logically unreachable blocks
>    - remove unused function parmeters
>    - use 64-byte vector path in pre-loop masked write
>  - Merge branch 'master' into memcpy
>  - Update full name
>    Previous commit (fcbbc0d7880) added 
> org.openjdk.bench.java.lang.ArrayCopyAlignedLarge benchmark
>  - - remerge upstream master
>    - remove ::copy test from XorTest
>  - Merge branch 'master' into memcpy
>  - - fix whitespace error
>  - Merge branch 'master' of https://git.openjdk.org/jdk into memcpy
>  - - bug fix: only generate / use large copy code if MaxVectorSize == 64
>  - - fix whitespace issues
>    - fix xor test foreign impl constructor signature
>  - ... and 1 more: https://git.openjdk.org/jdk/compare/e47cf611...02ad27fa

Correctness and performance testing passed.

-------------

Marked as reviewed by thartmann (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/16575#pullrequestreview-1749803030

Reply via email to