On Mon, 11 Mar 2024 19:31:45 GMT, Srinivas Vamsi Parasa <d...@openjdk.org> wrote:
>> Hi Vladimir (@iaroslavski), >> >> Please see the data below. >> >> Thanks, >> Vamsi >> >> <html xmlns:v="urn:schemas-microsoft-com:vml" >> xmlns:o="urn:schemas-microsoft-com:office:office" >> xmlns:x="urn:schemas-microsoft-com:office:excel" >> xmlns="http://www.w3.org/TR/REC-html40"> >> >> <head> >> >> <meta name=ProgId content=Excel.Sheet> >> <meta name=Generator content="Microsoft Excel 15"> >> <link id=Main-File rel=Main-File >> href="file:///C:/Users/sparasa/AppData/Local/Temp/msohtmlclip1/01/clip.htm"> >> <link rel=File-List >> href="file:///C:/Users/sparasa/AppData/Local/Temp/msohtmlclip1/01/clip_filelist.xml"> >> >> >> >> </head> >> >> <body link="#0563C1" vlink="#954F72"> >> >> >> Builder | Size | Stock JDK | b01 | r27b | r27p | r27s >> -- | -- | -- | -- | -- | -- | -- >> RANDOM | 600 | 1.615 | 1.59 | 2.316 | 1.805 | 1.77 >> RANDOM | 2000 | 6.794 | 6.638 | 8.443 | 6.354 | 6.295 >> RANDOM | 90000 | 296.877 | 304.15 | 337.625 | 341.999 | 307.099 >> RANDOM | 400000 | 838.061 | 801.108 | 1136.688 | 1161.181 | 781.487 >> RANDOM | 3000000 | 5468.214 | 5452.125 | 8522.698 | 8476.445 | 5368.777 >> PERIOD | 600 | 0.877 | 0.875 | 0.663 | 0.663 | 0.685 >> PERIOD | 2000 | 1.57 | 1.548 | 1.458 | 1.451 | 1.487 >> PERIOD | 90000 | 97.208 | 97.677 | 106.01 | 106.516 | 106.629 >> PERIOD | 400000 | 237.4 | 264.103 | 235.466 | 231.349 | 231.235 >> PERIOD | 3000000 | 2604.56 | 2829.935 | 4867.668 | 4872.361 | 4888.391 >> STAGGER | 600 | 1.052 | 1.064 | 0.774 | 0.78 | 0.791 >> STAGGER | 2000 | 3.449 | 3.443 | 2.604 | 2.627 | 2.597 >> STAGGER | 90000 | 102.331 | 103.464 | 73.582 | 73.532 | 75.85 >> STAGGER | 400000 | 210.829 | 229.37 | 207.356 | 208.565 | 205.141 >> STAGGER | 3000000 | 2205.565 | 2174.588 | 2086.885 | 2070.132 | 2373.443 >> SHUFFLE | 600 | 1.885 | 1.892 | 1.934 | 1.36 | 1.386 >> SHUFFLE | 2000 | 6.787 | 6.724 | 7.338 | 4.994 | 4.96 >> SHUFFLE | 90000 | 158.065 | 154.48 | 152.874 | 148.337 | 140.703 >> SHUFFLE | 400000 | 415.089 | 424.777 | 676.272 | 676.89 | 410.717 >> SHUFFLE | 3000000 | 3999.006 | 4017.496 | 6861.872 | 6894.785 | 3880.883 >> RANDOM | 600 | 1.614 | 1.588 | 2.329 | 1.789 | 1.847 >> RANDOM | 2000 | 6.756 | 6.634 | 7.757 | 6.224 | 6.23 >> RANDOM | 90000 | 516.671 | 512.52 | 623.995 | 488.492 | 482.646 >> RANDOM | 400000 | 2400.818 | 2399.264 | 2903.654 | 2356.675 | 2358.409 >> RANDOM | 3000000 | 20933.23 | 20822.49 | 24428.27 | 20847.57 | 20868.68 >> PERIOD | 600 | 0.864 | 0.871 | 0.681 | 0.665 | 0.664 >> PERIOD | 2000 | 1.583 | 1.547 | 1.451 | 1.46 | 1.483 >> PERIOD | 90000 | 63.4... > >> Hi Vamsi (@vamsi-parasa), few questions on your test environment: >> >> * what are the hardware specs of your server ? >> * bare-metal or virtual ? >> * are other services or big processes running ? >> * os tuning ? CPU HT: off? Fixed CPU governor or frequency ? >> * isolation using taskset ? >> >> Maybe C2 JIT (+ CDS archive) are given more performance on stock jdk sort >> than same code running outside jdk... >> >> Thanks, Laurent > > Hi Laurent, > > The benchmarks are run on Intel TigerLake Core i7 machine. It's bare-metal > without any virtualization. HT is ON and there is no other specific OS tuning > or isolation using taskset. > > Thanks, > Vamsi Hello Vamsi (@vamsi-parasa), Could you please run the new benchmarking? To save time and don't patch JDK several times, I've created JavaBenchmarkHarness class which is under package java.util and compares several versions of DPQS. Also I prepared several versions of current sorting source from JDK to detect what is going wrong. What you need is to compile and run JavaBenchmarkHarness once: javac --patch-module java.base=. -d classes *.java java -XX:CompileThreshold=1 -XX:-TieredCompilation --patch-module java.base=classes -cp classes java.util.JavaBenchmarkHarness Find the sources there: https://github.com/iaroslavski/sorting/blob/master/radixsort/JavaBenchmarkHarness.java https://github.com/iaroslavski/sorting/blob/master/radixsort/DualPivotQuicksort_b01.java https://github.com/iaroslavski/sorting/blob/master/radixsort/DualPivotQuicksort_b01_ins.java https://github.com/iaroslavski/sorting/blob/master/radixsort/DualPivotQuicksort_b01_mrg.java https://github.com/iaroslavski/sorting/blob/master/radixsort/DualPivotQuicksort_b01_piv.java https://github.com/iaroslavski/sorting/blob/master/radixsort/DualPivotQuicksort_b01_prt.java https://github.com/iaroslavski/sorting/blob/master/radixsort/DualPivotQuicksort_r29p.java https://github.com/iaroslavski/sorting/blob/master/radixsort/DualPivotQuicksort_r29p5.java Thank you, Vladimir ------------- PR Comment: https://git.openjdk.org/jdk/pull/13568#issuecomment-2046090360