PeterPtroc opened a new pull request, #8371:
URL: https://github.com/apache/hadoop/pull/8371

   <!--
     Thanks for sending a pull request!
       1. If this is your first time, please read our contributor guidelines: 
https://cwiki.apache.org/confluence/display/HADOOP/How+To+Contribute
       2. Make sure your PR title starts with JIRA issue id, e.g., 
'HADOOP-17799. Your PR title ...'.
   -->
   
   ### Description of PR
   
   Before introducing RVV optimizations for CRC32, it is useful to first close 
the optimization gap for CRC32C on Zbc. This change addresses that prerequisite 
and helps establish a cleaner baseline for subsequent RVV-focused tuning work.
   
   The following summarizes the work included in this commit.
   
   - Adds a riscv64 native CRC32C acceleration path using Zbc CLMUL in the 
existing bulk CRC implementation.
   - Adds CRC32C bitwise fallback for small/misaligned data and pipelined 
CRC32C processing for larger blocks.
   - Hooks the CRC32C function pointer at runtime when Zbc is detected on 
linux-riscv64.
   - Keeps existing CRC32 (zlib) behavior unchanged.
   
   For small chunks (bpc <= 32), throughput regresses; for medium/large chunks 
(bpc >= 256), throughput improves significantly.
   
   | bpc | #T | NativeC (origin) | NativeC (new) | Delta (MB/s) | Delta% |
   |---:|---:|---:|---:|---:|---:|
   | 32 | 1 | 695.1 | 70.4 | -624.7 | -89.9% |
   | 32 | 2 | 699.4 | 70.3 | -629.1 | -89.9% |
   | 32 | 4 | 701.0 | 70.5 | -630.5 | -89.9% |
   | 32 | 8 | 682.8 | 70.4 | -612.4 | -89.7% |
   | 32 | 16 | 690.6 | 70.3 | -620.3 | -89.8% |
   | 64 | 1 | 830.0 | 717.7 | -112.3 | -13.5% |
   | 64 | 2 | 791.0 | 751.1 | -39.9 | -5.0% |
   | 64 | 4 | 817.0 | 738.5 | -78.5 | -9.6% |
   | 64 | 8 | 813.1 | 752.7 | -60.4 | -7.4% |
   | 64 | 16 | 807.9 | 746.5 | -61.4 | -7.6% |
   | 128 | 1 | 921.8 | 679.0 | -242.8 | -26.3% |
   | 128 | 2 | 865.5 | 627.4 | -238.1 | -27.5% |
   | 128 | 4 | 902.6 | 693.3 | -209.3 | -23.2% |
   | 128 | 8 | 916.8 | 698.0 | -218.8 | -23.9% |
   | 128 | 16 | 895.2 | 672.9 | -222.3 | -24.8% |
   | 256 | 1 | 872.0 | 2982.3 | +2110.3 | +242.0% |
   | 256 | 2 | 756.8 | 3023.4 | +2266.6 | +299.5% |
   | 256 | 4 | 879.4 | 2518.3 | +1638.9 | +186.4% |
   | 256 | 8 | 847.2 | 2529.9 | +1682.7 | +198.6% |
   | 256 | 16 | 892.8 | 2518.4 | +1625.6 | +182.1% |
   | 512 | 1 | 969.1 | 3698.0 | +2728.9 | +281.6% |
   | 512 | 2 | 988.9 | 3737.5 | +2748.6 | +277.9% |
   | 512 | 4 | 955.8 | 2996.8 | +2041.0 | +213.5% |
   | 512 | 8 | 936.1 | 2645.3 | +1709.2 | +182.6% |
   | 512 | 16 | 952.3 | 3002.4 | +2050.1 | +215.3% |
   | 1024 | 1 | 1006.7 | 3596.7 | +2590.0 | +257.3% |
   | 1024 | 2 | 947.1 | 3588.8 | +2641.7 | +278.9% |
   | 1024 | 4 | 1001.0 | 3025.9 | +2024.9 | +202.3% |
   | 1024 | 8 | 980.3 | 2751.4 | +1771.1 | +180.7% |
   | 1024 | 16 | 982.2 | 3027.8 | +2045.6 | +208.3% |
   | 2048 | 1 | 1015.5 | 3529.7 | +2514.2 | +247.6% |
   | 2048 | 2 | 1033.3 | 3575.9 | +2542.6 | +246.1% |
   | 2048 | 4 | 1016.1 | 3070.5 | +2054.4 | +202.2% |
   | 2048 | 8 | 1006.1 | 2819.4 | +1813.3 | +180.2% |
   | 2048 | 16 | 991.3 | 3056.3 | +2065.0 | +208.3% |
   | 4096 | 1 | 1029.0 | 4485.6 | +3456.6 | +335.9% |
   | 4096 | 2 | 1026.8 | 4562.3 | +3535.5 | +344.3% |
   | 4096 | 4 | 1005.9 | 3617.4 | +2611.5 | +259.6% |
   | 4096 | 8 | 1006.4 | 3634.1 | +2627.7 | +261.1% |
   | 4096 | 16 | 1015.6 | 3630.8 | +2615.2 | +257.5% |
   | 8192 | 1 | 1032.9 | 5100.4 | +4067.5 | +393.8% |
   | 8192 | 2 | 1043.6 | 5057.9 | +4014.3 | +384.7% |
   | 8192 | 4 | 1025.3 | 3954.0 | +2928.7 | +285.6% |
   | 8192 | 8 | 1024.9 | 3415.2 | +2390.3 | +233.2% |
   | 8192 | 16 | 1007.1 | 3899.5 | +2892.4 | +287.2% |
   | 16384 | 1 | 1034.7 | 5706.5 | +4671.8 | +451.5% |
   | 16384 | 2 | 1045.7 | 5694.4 | +4648.7 | +444.6% |
   | 16384 | 4 | 1012.9 | 4325.6 | +3312.7 | +327.1% |
   | 16384 | 8 | 1036.8 | 4261.1 | +3224.3 | +311.0% |
   | 16384 | 16 | 1011.5 | 4556.3 | +3544.8 | +350.4% |
   | 32768 | 1 | 1037.7 | 6255.9 | +5218.2 | +502.9% |
   | 32768 | 2 | 975.2 | 6236.5 | +5261.3 | +539.5% |
   | 32768 | 4 | 1030.5 | 4543.7 | +3513.2 | +340.9% |
   | 32768 | 8 | 1007.3 | 4311.6 | +3304.3 | +328.0% |
   | 32768 | 16 | 1010.7 | 4823.0 | +3812.3 | +377.2% |
   | 65536 | 1 | 1037.5 | 6060.3 | +5022.8 | +484.1% |
   | 65536 | 2 | 974.2 | 6235.9 | +5261.7 | +540.1% |
   | 65536 | 4 | 1001.4 | 4620.2 | +3618.8 | +361.4% |
   | 65536 | 8 | 1007.5 | 4624.2 | +3616.7 | +359.0% |
   | 65536 | 16 | 1011.0 | 4091.1 | +3080.1 | +304.7% |
   
   ### How was this patch tested?
   
   Built `hadoop-common` with native profile on riscv64; verified functionality 
with `TestNativeCrc32`.
   Ran Hadoop's CRC benchmark on riscv64 with JDK 17.
   
   Summary:
   - Unit/native tests: pass (`Tests run: 22, Failures: 0, Errors: 0, Skipped: 
0`)
   - Build: success
   
   Command: 
   
   ```
   mvn -Pnative \
     -Dtest=org.apache.hadoop.util.TestNativeCrc32 \
     -Djava.library.path="$HADOOP_COMMON_LIB_NATIVE_DIR" \
     test
   ```
   
   Results:
   
   ```
   [INFO] 
   [INFO] -------------------------------------------------------
   [INFO]  T E S T S
   [INFO] -------------------------------------------------------
   [INFO] Running org.apache.hadoop.util.TestNativeCrc32
   [INFO] Tests run: 22, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 
1.725 s -- in org.apache.hadoop.util.TestNativeCrc32
   [INFO] 
   [INFO] Results:
   [INFO] 
   [INFO] Tests run: 22, Failures: 0, Errors: 0, Skipped: 0
   [INFO] 
   [INFO] 
   [INFO] Executed tasks
   [INFO] 
   [INFO] --- hadoop-maven-plugins:3.6.0-SNAPSHOT:cmake-test (test_bulk_crc32) 
@ hadoop-common ---
   [INFO] 
   [INFO] --- hadoop-maven-plugins:3.6.0-SNAPSHOT:cmake-test 
(erasure_code_test) @ hadoop-common ---
   [INFO] 
------------------------------------------------------------------------
   [INFO] BUILD SUCCESS
   [INFO] 
------------------------------------------------------------------------
   
   ```
   
   Command:
   
   ```
   export 
HADOOP_COMMON_LIB_NATIVE_DIR="$PWD/hadoop-common-project/hadoop-common/target/native/target/usr/local/lib"
   
   export LD_LIBRARY_PATH="$HADOOP_COMMON_LIB_NATIVE_DIR:$LD_LIBRARY_PATH"
   
   mvn -Pnative -DskipTests -Dexec.classpathScope=test \
   -Dexec.mainClass=org.apache.hadoop.util.Crc32PerformanceTest \
   -Djava.library.path="$HADOOP_COMMON_LIB_NATIVE_DIR" exec:java
   ```
   
   Results (Origin)
   
   ```
   [INFO] Scanning for projects...
   [INFO] 
------------------------------------------------------------------------
   [INFO] Detecting the operating system and CPU architecture
   [INFO] 
------------------------------------------------------------------------
   [INFO] os.detected.name: linux
   [INFO] os.detected.arch: riscv64
   [INFO] os.detected.bitness: 64
   [INFO] os.detected.version: 6.12
   [INFO] os.detected.version.major: 6
   [INFO] os.detected.version.minor: 12
   [INFO] os.detected.release: PolyOS
   [INFO] os.detected.release.version: 24.03
   [INFO] os.detected.release.like.PolyOS: true
   [INFO] os.detected.classifier: linux-riscv64
   [INFO] 
   [INFO] ------------------< org.apache.hadoop:hadoop-common 
>-------------------
   [INFO] Building Apache Hadoop Common 3.6.0-SNAPSHOT
   [INFO] --------------------------------[ jar 
]---------------------------------
   [INFO] 
   [INFO] --- exec-maven-plugin:1.3.1:java (default-cli) @ hadoop-common ---
   [WARNING] Warning: killAfter is now deprecated. Do you need it ? Please 
comment on MEXEC-6.
                    java.version = 17.0.11
               java.runtime.name = OpenJDK Runtime Environment
            java.runtime.version = 17.0.11+9
                 java.vm.version = 17.0.11+9
                  java.vm.vendor = BiSheng
                    java.vm.name = OpenJDK 64-Bit Server VM
   java.vm.specification.version = 17
      java.specification.version = 17
                         os.arch = riscv64
                         os.name = Linux
                      os.version = 6.12.74-0.0.0.0.riscv64
   Data Length = 64 MB
   Trials      = 5
   
   Direct Buffer Performance Table (bpc: byte-per-crc in MB/sec; #T: #Theads)
   |  bpc  | #T ||      Zip ||     ZipC | % diff || PureJava | % diff || 
PureJavaC | % diff ||   Native | % diff ||  NativeC | % diff |
   |    32 |  1 |      49.2 |     158.2 | 221.4% |     183.7 |  16.1% |      
179.7 |  -2.2% |     504.4 | 180.6% |     695.1 |  37.8% |
   |    32 |  2 |      50.1 |     159.0 | 217.2% |     186.1 |  17.1% |      
183.6 |  -1.3% |     527.4 | 187.3% |     699.4 |  32.6% |
   |    32 |  4 |      45.4 |     137.5 | 202.8% |     159.9 |  16.3% |      
157.6 |  -1.4% |     509.8 | 223.3% |     701.0 |  37.5% |
   |    32 |  8 |      44.7 |     126.4 | 182.7% |     157.0 |  24.2% |      
138.3 | -11.9% |     506.7 | 266.3% |     682.8 |  34.7% |
   |    32 | 16 |      40.5 |     130.7 | 222.9% |     148.7 |  13.7% |      
148.8 |   0.1% |     516.0 | 246.7% |     690.6 |  33.8% |
   |  bpc  | #T ||      Zip ||     ZipC | % diff || PureJava | % diff || 
PureJavaC | % diff ||   Native | % diff ||  NativeC | % diff |
   |    64 |  1 |      92.4 |     266.5 | 188.4% |     293.6 |  10.2% |      
293.9 |   0.1% |     295.7 |   0.6% |     830.0 | 180.7% |
   |    64 |  2 |      91.2 |     265.3 | 190.8% |     288.4 |   8.7% |      
286.4 |  -0.7% |     294.8 |   3.0% |     791.0 | 168.3% |
   |    64 |  4 |      86.6 |     264.1 | 204.8% |     274.2 |   3.8% |      
275.8 |   0.6% |     287.5 |   4.2% |     817.0 | 184.2% |
   |    64 |  8 |      82.9 |     237.5 | 186.5% |     258.5 |   8.8% |      
267.2 |   3.4% |     294.7 |  10.3% |     813.1 | 175.9% |
   |    64 | 16 |      79.9 |     195.1 | 144.2% |     234.5 |  20.2% |      
240.7 |   2.7% |     295.0 |  22.5% |     807.9 | 173.9% |
   |  bpc  | #T ||      Zip ||     ZipC | % diff || PureJava | % diff || 
PureJavaC | % diff ||   Native | % diff ||  NativeC | % diff |
   |   128 |  1 |     151.1 |     394.9 | 161.3% |     414.9 |   5.1% |      
419.4 |   1.1% |    2372.3 | 465.6% |     921.8 | -61.1% |
   |   128 |  2 |     147.3 |     389.9 | 164.8% |     419.0 |   7.5% |      
416.1 |  -0.7% |    1621.5 | 289.7% |     865.5 | -46.6% |
   |   128 |  4 |     151.8 |     371.3 | 144.5% |     361.2 |  -2.7% |      
387.0 |   7.1% |    1991.1 | 414.5% |     902.6 | -54.7% |
   |   128 |  8 |     140.0 |     343.8 | 145.7% |     368.1 |   7.1% |      
374.0 |   1.6% |    2183.1 | 483.7% |     916.8 | -58.0% |
   |   128 | 16 |     146.7 |     349.7 | 138.4% |     374.3 |   7.0% |      
358.6 |  -4.2% |    1896.5 | 428.9% |     895.2 | -52.8% |
   |  bpc  | #T ||      Zip ||     ZipC | % diff || PureJava | % diff || 
PureJavaC | % diff ||   Native | % diff ||  NativeC | % diff |
   |   256 |  1 |     252.2 |     526.4 | 108.7% |     519.4 |  -1.3% |      
534.9 |   3.0% |    2801.8 | 423.8% |     872.0 | -68.9% |
   |   256 |  2 |     244.7 |     523.5 | 114.0% |     524.4 |   0.2% |      
520.2 |  -0.8% |    2745.8 | 427.8% |     756.8 | -72.4% |
   |   256 |  4 |     232.1 |     523.6 | 125.5% |     493.4 |  -5.8% |      
526.7 |   6.7% |    1734.8 | 229.4% |     879.4 | -49.3% |
   |   256 |  8 |     236.1 |     479.7 | 103.2% |     472.6 |  -1.5% |      
485.3 |   2.7% |    1852.7 | 281.8% |     847.2 | -54.3% |
   |   256 | 16 |     228.6 |     474.8 | 107.7% |     482.8 |   1.7% |      
489.0 |   1.3% |    1598.7 | 227.0% |     892.8 | -44.2% |
   |  bpc  | #T ||      Zip ||     ZipC | % diff || PureJava | % diff || 
PureJavaC | % diff ||   Native | % diff ||  NativeC | % diff |
   |   512 |  1 |     348.0 |     636.1 |  82.8% |     616.4 |  -3.1% |      
629.7 |   2.2% |    2935.3 | 366.1% |     969.1 | -67.0% |
   |   512 |  2 |     353.5 |     622.2 |  76.0% |     590.8 |  -5.1% |      
597.8 |   1.2% |    2204.9 | 268.8% |     988.9 | -55.2% |
   |   512 |  4 |     353.3 |     609.1 |  72.4% |     583.6 |  -4.2% |      
604.0 |   3.5% |    2234.2 | 269.9% |     955.8 | -57.2% |
   |   512 |  8 |     326.4 |     591.5 |  81.2% |     584.0 |  -1.3% |      
594.5 |   1.8% |    2205.3 | 271.0% |     936.1 | -57.6% |
   |   512 | 16 |     333.4 |     587.1 |  76.1% |     574.3 |  -2.2% |      
589.8 |   2.7% |    1989.8 | 237.4% |     952.3 | -52.1% |
   |  bpc  | #T ||      Zip ||     ZipC | % diff || PureJava | % diff || 
PureJavaC | % diff ||   Native | % diff ||  NativeC | % diff |
   |  1024 |  1 |     461.8 |     700.0 |  51.6% |     636.3 |  -9.1% |      
649.6 |   2.1% |    3020.7 | 365.0% |    1006.7 | -66.7% |
   |  1024 |  2 |     452.3 |     703.9 |  55.6% |     652.1 |  -7.4% |      
622.9 |  -4.5% |    2919.2 | 368.6% |     947.1 | -67.6% |
   |  1024 |  4 |     443.4 |     670.7 |  51.2% |     636.9 |  -5.0% |      
634.9 |  -0.3% |    2618.8 | 312.5% |    1001.0 | -61.8% |
   |  1024 |  8 |     441.1 |     655.5 |  48.6% |     608.7 |  -7.1% |      
635.5 |   4.4% |    2186.3 | 244.0% |     980.3 | -55.2% |
   |  1024 | 16 |     436.6 |     652.1 |  49.3% |     625.9 |  -4.0% |      
635.9 |   1.6% |    2173.4 | 241.8% |     982.2 | -54.8% |
   |  bpc  | #T ||      Zip ||     ZipC | % diff || PureJava | % diff || 
PureJavaC | % diff ||   Native | % diff ||  NativeC | % diff |
   |  2048 |  1 |     514.2 |     719.6 |  39.9% |     660.6 |  -8.2% |      
677.1 |   2.5% |    3188.5 | 370.9% |    1015.5 | -68.1% |
   |  2048 |  2 |     543.6 |     693.8 |  27.6% |     634.3 |  -8.6% |      
645.7 |   1.8% |    3076.5 | 376.5% |    1033.3 | -66.4% |
   |  2048 |  4 |     504.4 |     697.5 |  38.3% |     650.2 |  -6.8% |      
658.0 |   1.2% |    2444.8 | 271.5% |    1016.1 | -58.4% |
   |  2048 |  8 |     515.2 |     694.3 |  34.8% |     637.8 |  -8.1% |      
663.0 |   3.9% |    2807.4 | 323.5% |    1006.1 | -64.2% |
   |  2048 | 16 |     502.8 |     689.4 |  37.1% |     639.7 |  -7.2% |      
663.5 |   3.7% |    2617.8 | 294.5% |     991.3 | -62.1% |
   |  bpc  | #T ||      Zip ||     ZipC | % diff || PureJava | % diff || 
PureJavaC | % diff ||   Native | % diff ||  NativeC | % diff |
   |  4096 |  1 |     570.9 |     743.2 |  30.2% |     681.9 |  -8.3% |      
694.4 |   1.8% |    3620.6 | 421.4% |    1029.0 | -71.6% |
   |  4096 |  2 |     561.3 |     748.1 |  33.3% |     651.4 | -12.9% |      
664.9 |   2.1% |    2827.3 | 325.2% |    1026.8 | -63.7% |
   |  4096 |  4 |     583.4 |     719.6 |  23.3% |     662.4 |  -7.9% |      
677.8 |   2.3% |    2816.8 | 315.6% |    1005.9 | -64.3% |
   |  4096 |  8 |     562.7 |     722.8 |  28.4% |     670.1 |  -7.3% |      
680.6 |   1.6% |    3002.3 | 341.1% |    1006.4 | -66.5% |
   |  4096 | 16 |     567.6 |     713.4 |  25.7% |     661.2 |  -7.3% |      
682.0 |   3.1% |    2700.2 | 295.9% |    1015.6 | -62.4% |
   |  bpc  | #T ||      Zip ||     ZipC | % diff || PureJava | % diff || 
PureJavaC | % diff ||   Native | % diff ||  NativeC | % diff |
   |  8192 |  1 |     621.1 |     753.5 |  21.3% |     687.7 |  -8.7% |      
701.1 |   1.9% |    4044.4 | 476.9% |    1032.9 | -74.5% |
   |  8192 |  2 |     579.4 |     710.1 |  22.6% |     652.6 |  -8.1% |      
707.9 |   8.5% |    4040.9 | 470.8% |    1043.6 | -74.2% |
   |  8192 |  4 |     603.6 |     721.5 |  19.5% |     677.2 |  -6.1% |      
675.5 |  -0.3% |    3049.6 | 351.5% |    1025.3 | -66.4% |
   |  8192 |  8 |     558.3 |     714.2 |  27.9% |     660.4 |  -7.5% |      
684.0 |   3.6% |    3189.0 | 366.2% |    1024.9 | -67.9% |
   |  8192 | 16 |     587.3 |     730.7 |  24.4% |     657.7 | -10.0% |      
682.0 |   3.7% |    2822.2 | 313.8% |    1007.1 | -64.3% |
   |  bpc  | #T ||      Zip ||     ZipC | % diff || PureJava | % diff || 
PureJavaC | % diff ||   Native | % diff ||  NativeC | % diff |
   | 16384 |  1 |     633.3 |     754.9 |  19.2% |     689.3 |  -8.7% |      
704.5 |   2.2% |    4114.2 | 484.0% |    1034.7 | -74.8% |
   | 16384 |  2 |     568.3 |     681.1 |  19.9% |     631.5 |  -7.3% |      
646.8 |   2.4% |    3135.5 | 384.8% |    1045.7 | -66.7% |
   | 16384 |  4 |     586.9 |     688.3 |  17.3% |     669.5 |  -2.7% |      
652.3 |  -2.6% |    3083.4 | 372.7% |    1012.9 | -67.1% |
   | 16384 |  8 |     597.9 |     726.2 |  21.5% |     635.5 | -12.5% |      
654.5 |   3.0% |    2851.8 | 335.7% |    1036.8 | -63.6% |
   | 16384 | 16 |     592.1 |     698.1 |  17.9% |     639.2 |  -8.4% |      
655.6 |   2.6% |    3064.9 | 367.5% |    1011.5 | -67.0% |
   |  bpc  | #T ||      Zip ||     ZipC | % diff || PureJava | % diff || 
PureJavaC | % diff ||   Native | % diff ||  NativeC | % diff |
   | 32768 |  1 |     640.9 |     756.8 |  18.1% |     688.7 |  -9.0% |      
703.6 |   2.2% |    4401.6 | 525.6% |    1037.7 | -76.4% |
   | 32768 |  2 |     592.4 |     668.7 |  12.9% |     691.1 |   3.3% |      
642.6 |  -7.0% |    3277.6 | 410.1% |     975.2 | -70.2% |
   | 32768 |  4 |     565.4 |     724.9 |  28.2% |     633.0 | -12.7% |      
646.1 |   2.1% |    3265.6 | 405.4% |    1030.5 | -68.4% |
   | 32768 |  8 |     601.3 |     683.1 |  13.6% |     623.8 |  -8.7% |      
639.9 |   2.6% |    3460.8 | 440.9% |    1007.3 | -70.9% |
   | 32768 | 16 |     590.8 |     696.0 |  17.8% |     625.5 | -10.1% |      
645.1 |   3.1% |    2790.5 | 332.6% |    1010.7 | -63.8% |
   |  bpc  | #T ||      Zip ||     ZipC | % diff || PureJava | % diff || 
PureJavaC | % diff ||   Native | % diff ||  NativeC | % diff |
   | 65536 |  1 |     630.3 |     761.5 |  20.8% |     692.2 |  -9.1% |      
709.6 |   2.5% |    4314.6 | 508.0% |    1037.5 | -76.0% |
   | 65536 |  2 |     603.9 |     690.4 |  14.3% |     687.9 |  -0.4% |      
621.9 |  -9.6% |    3258.4 | 423.9% |     974.2 | -70.1% |
   | 65536 |  4 |     603.0 |     692.8 |  14.9% |     618.4 | -10.7% |      
616.6 |  -0.3% |    3278.9 | 431.8% |    1001.4 | -69.5% |
   | 65536 |  8 |     606.3 |     697.7 |  15.1% |     646.2 |  -7.4% |      
639.9 |  -1.0% |    3559.0 | 456.1% |    1007.5 | -71.7% |
   | 65536 | 16 |     587.2 |     703.6 |  19.8% |     655.4 |  -6.9% |      
637.0 |  -2.8% |    3083.7 | 384.1% |    1011.0 | -67.2% |
   Elapsed 464.6s
   [INFO] 
------------------------------------------------------------------------
   [INFO] BUILD SUCCESS
   [INFO] 
------------------------------------------------------------------------
   ```
   
   Results (With this commit)
   
   ```
   [INFO] Scanning for projects...
   [INFO] 
------------------------------------------------------------------------
   [INFO] Detecting the operating system and CPU architecture
   [INFO] 
------------------------------------------------------------------------
   [INFO] os.detected.name: linux
   [INFO] os.detected.arch: riscv64
   [INFO] os.detected.bitness: 64
   [INFO] os.detected.version: 6.12
   [INFO] os.detected.version.major: 6
   [INFO] os.detected.version.minor: 12
   [INFO] os.detected.release: PolyOS
   [INFO] os.detected.release.version: 24.03
   [INFO] os.detected.release.like.PolyOS: true
   [INFO] os.detected.classifier: linux-riscv64
   [INFO] 
   [INFO] ------------------< org.apache.hadoop:hadoop-common 
>-------------------
   [INFO] Building Apache Hadoop Common 3.6.0-SNAPSHOT
   [INFO] --------------------------------[ jar 
]---------------------------------
   [INFO] 
   [INFO] --- exec-maven-plugin:1.3.1:java (default-cli) @ hadoop-common ---
   [WARNING] Warning: killAfter is now deprecated. Do you need it ? Please 
comment on MEXEC-6.
                    java.version = 17.0.11
               java.runtime.name = OpenJDK Runtime Environment
            java.runtime.version = 17.0.11+9
                 java.vm.version = 17.0.11+9
                  java.vm.vendor = BiSheng
                    java.vm.name = OpenJDK 64-Bit Server VM
   java.vm.specification.version = 17
      java.specification.version = 17
                         os.arch = riscv64
                         os.name = Linux
                      os.version = 6.12.74-0.0.0.0.riscv64
   Data Length = 64 MB
   Trials      = 5
   
   Direct Buffer Performance Table (bpc: byte-per-crc in MB/sec; #T: #Theads)
   |  bpc  | #T ||      Zip ||     ZipC | % diff || PureJava | % diff || 
PureJavaC | % diff ||   Native | % diff ||  NativeC | % diff |
   |    32 |  1 |      52.5 |     161.6 | 207.8% |     187.5 |  16.0% |      
185.6 |  -1.0% |     450.3 | 142.7% |      70.4 | -84.4% |
   |    32 |  2 |      52.8 |     162.1 | 206.9% |     185.1 |  14.2% |      
185.4 |   0.2% |     505.0 | 172.4% |      70.3 | -86.1% |
   |    32 |  4 |      52.5 |     161.3 | 206.9% |     186.6 |  15.7% |      
184.0 |  -1.4% |     471.6 | 156.3% |      70.5 | -85.1% |
   |    32 |  8 |      52.6 |     122.7 | 133.4% |     186.2 |  51.7% |      
184.8 |  -0.7% |     485.7 | 162.7% |      70.4 | -85.5% |
   |    32 | 16 |      51.9 |     159.8 | 207.8% |     184.9 |  15.7% |      
182.9 |  -1.1% |     483.9 | 164.6% |      70.3 | -85.5% |
   |  bpc  | #T ||      Zip ||     ZipC | % diff || PureJava | % diff || 
PureJavaC | % diff ||   Native | % diff ||  NativeC | % diff |
   |    64 |  1 |      97.3 |     271.0 | 178.6% |     294.5 |   8.7% |      
296.4 |   0.7% |     285.5 |  -3.7% |     717.7 | 151.4% |
   |    64 |  2 |      97.8 |     271.4 | 177.4% |     292.3 |   7.7% |      
297.3 |   1.7% |     290.0 |  -2.5% |     751.1 | 159.0% |
   |    64 |  4 |      96.5 |     269.1 | 178.9% |     293.3 |   9.0% |      
296.2 |   1.0% |     291.2 |  -1.7% |     738.5 | 153.6% |
   |    64 |  8 |      96.0 |     270.8 | 182.3% |     290.5 |   7.3% |      
295.7 |   1.8% |     293.8 |  -0.7% |     752.7 | 156.2% |
   |    64 | 16 |      94.8 |     265.6 | 180.1% |     291.7 |   9.9% |      
293.7 |   0.7% |     300.5 |   2.3% |     746.5 | 148.4% |
   |  bpc  | #T ||      Zip ||     ZipC | % diff || PureJava | % diff || 
PureJavaC | % diff ||   Native | % diff ||  NativeC | % diff |
   |   128 |  1 |     165.5 |     406.5 | 145.6% |     415.9 |   2.3% |      
422.5 |   1.6% |    2391.2 | 465.9% |     679.0 | -71.6% |
   |   128 |  2 |     163.9 |     407.0 | 148.3% |     417.5 |   2.6% |      
424.7 |   1.7% |    1645.0 | 287.3% |     627.4 | -61.9% |
   |   128 |  4 |     166.1 |     402.7 | 142.4% |     415.9 |   3.3% |      
420.4 |   1.1% |    1998.6 | 375.4% |     693.3 | -65.3% |
   |   128 |  8 |     148.1 |     393.6 | 165.7% |     404.7 |   2.8% |      
417.7 |   3.2% |    2014.1 | 382.2% |     698.0 | -65.3% |
   |   128 | 16 |     159.0 |     393.6 | 147.5% |     413.8 |   5.1% |      
418.3 |   1.1% |    1878.0 | 349.0% |     672.9 | -64.2% |
   |  bpc  | #T ||      Zip ||     ZipC | % diff || PureJava | % diff || 
PureJavaC | % diff ||   Native | % diff ||  NativeC | % diff |
   |   256 |  1 |     258.3 |     535.9 | 107.5% |     522.9 |  -2.4% |      
537.6 |   2.8% |    2924.1 | 443.9% |    2982.3 |   2.0% |
   |   256 |  2 |     258.6 |     540.1 | 108.8% |     529.2 |  -2.0% |      
540.5 |   2.1% |    2890.8 | 434.9% |    3023.4 |   4.6% |
   |   256 |  4 |     254.4 |     523.2 | 105.6% |     525.7 |   0.5% |      
536.9 |   2.1% |    2350.8 | 337.9% |    2518.3 |   7.1% |
   |   256 |  8 |     250.6 |     523.3 | 108.8% |     516.4 |  -1.3% |      
532.8 |   3.2% |    2176.6 | 308.5% |    2529.9 |  16.2% |
   |   256 | 16 |     242.5 |     517.0 | 113.2% |     520.4 |   0.7% |      
530.6 |   2.0% |    2334.7 | 340.0% |    2518.4 |   7.9% |
   |  bpc  | #T ||      Zip ||     ZipC | % diff || PureJava | % diff || 
PureJavaC | % diff ||   Native | % diff ||  NativeC | % diff |
   |   512 |  1 |     366.5 |     642.4 |  75.3% |     614.5 |  -4.3% |      
632.2 |   2.9% |    3498.9 | 453.5% |    3698.0 |   5.7% |
   |   512 |  2 |     374.7 |     638.4 |  70.4% |     617.5 |  -3.3% |      
615.5 |  -0.3% |    2350.3 | 281.9% |    3737.5 |  59.0% |
   |   512 |  4 |     360.3 |     624.6 |  73.3% |     614.3 |  -1.7% |      
622.6 |   1.4% |    2908.9 | 367.2% |    2996.8 |   3.0% |
   |   512 |  8 |     335.3 |     624.8 |  86.4% |     605.2 |  -3.1% |      
620.8 |   2.6% |    2607.8 | 320.1% |    2645.3 |   1.4% |
   |   512 | 16 |     323.5 |     621.0 |  92.0% |     605.6 |  -2.5% |      
618.4 |   2.1% |    2762.1 | 346.6% |    3002.4 |   8.7% |
   |  bpc  | #T ||      Zip ||     ZipC | % diff || PureJava | % diff || 
PureJavaC | % diff ||   Native | % diff ||  NativeC | % diff |
   |  1024 |  1 |     441.4 |     703.1 |  59.3% |     655.2 |  -6.8% |      
665.0 |   1.5% |    3036.7 | 356.7% |    3596.7 |  18.4% |
   |  1024 |  2 |     451.0 |     698.2 |  54.8% |     658.4 |  -5.7% |      
668.6 |   1.5% |    3030.4 | 353.3% |    3588.8 |  18.4% |
   |  1024 |  4 |     431.2 |     680.3 |  57.8% |     656.7 |  -3.5% |      
652.2 |  -0.7% |    2657.5 | 307.5% |    3025.9 |  13.9% |
   |  1024 |  8 |     450.4 |     681.5 |  51.3% |     648.9 |  -4.8% |      
652.5 |   0.6% |    2653.0 | 306.6% |    2751.4 |   3.7% |
   |  1024 | 16 |     439.5 |     681.8 |  55.1% |     643.6 |  -5.6% |      
641.3 |  -0.4% |    2493.0 | 288.7% |    3027.8 |  21.5% |
   |  bpc  | #T ||      Zip ||     ZipC | % diff || PureJava | % diff || 
PureJavaC | % diff ||   Native | % diff ||  NativeC | % diff |
   |  2048 |  1 |     503.4 |     721.2 |  43.3% |     662.7 |  -8.1% |      
676.9 |   2.1% |    3179.3 | 369.7% |    3529.7 |  11.0% |
   |  2048 |  2 |     504.8 |     718.7 |  42.4% |     664.2 |  -7.6% |      
680.9 |   2.5% |    3175.8 | 366.4% |    3575.9 |  12.6% |
   |  2048 |  4 |     508.9 |     700.5 |  37.6% |     653.3 |  -6.7% |      
667.2 |   2.1% |    2736.8 | 310.2% |    3070.5 |  12.2% |
   |  2048 |  8 |     515.9 |     706.8 |  37.0% |     649.2 |  -8.1% |      
671.5 |   3.4% |    2577.8 | 283.9% |    2819.4 |   9.4% |
   |  2048 | 16 |     500.9 |     703.8 |  40.5% |     655.3 |  -6.9% |      
668.0 |   1.9% |    2592.2 | 288.0% |    3056.3 |  17.9% |
   |  bpc  | #T ||      Zip ||     ZipC | % diff || PureJava | % diff || 
PureJavaC | % diff ||   Native | % diff ||  NativeC | % diff |
   |  4096 |  1 |     516.6 |     738.7 |  43.0% |     679.8 |  -8.0% |      
695.8 |   2.4% |    3673.4 | 427.9% |    4485.6 |  22.1% |
   |  4096 |  2 |     524.9 |     744.0 |  41.7% |     683.5 |  -8.1% |      
702.7 |   2.8% |    3670.5 | 422.4% |    4562.3 |  24.3% |
   |  4096 |  4 |     561.4 |     733.6 |  30.7% |     674.0 |  -8.1% |      
700.3 |   3.9% |    3189.5 | 355.5% |    3617.4 |  13.4% |
   |  4096 |  8 |     543.8 |     731.5 |  34.5% |     668.2 |  -8.7% |      
684.7 |   2.5% |    2952.8 | 331.3% |    3634.1 |  23.1% |
   |  4096 | 16 |     553.6 |     727.7 |  31.4% |     675.2 |  -7.2% |      
688.9 |   2.0% |    3063.0 | 344.6% |    3630.8 |  18.5% |
   |  bpc  | #T ||      Zip ||     ZipC | % diff || PureJava | % diff || 
PureJavaC | % diff ||   Native | % diff ||  NativeC | % diff |
   |  8192 |  1 |     584.1 |     750.2 |  28.4% |     680.6 |  -9.3% |      
700.2 |   2.9% |    3973.5 | 467.5% |    5100.4 |  28.4% |
   |  8192 |  2 |     592.4 |     752.6 |  27.0% |     687.1 |  -8.7% |      
705.2 |   2.6% |    3986.6 | 465.3% |    5057.9 |  26.9% |
   |  8192 |  4 |     563.8 |     737.5 |  30.8% |     665.8 |  -9.7% |      
688.5 |   3.4% |    3457.2 | 402.2% |    3954.0 |  14.4% |
   |  8192 |  8 |     580.8 |     727.3 |  25.2% |     665.0 |  -8.6% |      
679.0 |   2.1% |    3202.9 | 371.7% |    3415.2 |   6.6% |
   |  8192 | 16 |     574.4 |     731.8 |  27.4% |     675.0 |  -7.8% |      
685.0 |   1.5% |    3512.6 | 412.8% |    3899.5 |  11.0% |
   |  bpc  | #T ||      Zip ||     ZipC | % diff || PureJava | % diff || 
PureJavaC | % diff ||   Native | % diff ||  NativeC | % diff |
   | 16384 |  1 |     617.4 |     751.0 |  21.6% |     682.4 |  -9.1% |      
695.0 |   1.8% |    4139.6 | 495.6% |    5706.5 |  37.9% |
   | 16384 |  2 |     611.9 |     755.6 |  23.5% |     687.1 |  -9.1% |      
703.5 |   2.4% |    4158.4 | 491.1% |    5694.4 |  36.9% |
   | 16384 |  4 |     583.7 |     727.0 |  24.5% |     664.8 |  -8.6% |      
683.0 |   2.7% |    3629.5 | 431.4% |    4325.6 |  19.2% |
   | 16384 |  8 |     585.0 |     719.5 |  23.0% |     660.9 |  -8.2% |      
671.3 |   1.6% |    3784.6 | 463.8% |    4261.1 |  12.6% |
   | 16384 | 16 |     589.9 |     721.6 |  22.3% |     662.4 |  -8.2% |      
676.2 |   2.1% |    3693.9 | 446.3% |    4556.3 |  23.3% |
   |  bpc  | #T ||      Zip ||     ZipC | % diff || PureJava | % diff || 
PureJavaC | % diff ||   Native | % diff ||  NativeC | % diff |
   | 32768 |  1 |     641.5 |     754.5 |  17.6% |     686.4 |  -9.0% |      
699.1 |   1.9% |    4389.4 | 527.8% |    6255.9 |  42.5% |
   | 32768 |  2 |     579.3 |     756.5 |  30.6% |     689.7 |  -8.8% |      
704.8 |   2.2% |    4318.7 | 512.8% |    6236.5 |  44.4% |
   | 32768 |  4 |     609.3 |     722.7 |  18.6% |     655.0 |  -9.4% |      
690.3 |   5.4% |    3799.8 | 450.5% |    4543.7 |  19.6% |
   | 32768 |  8 |     596.2 |     730.5 |  22.5% |     664.9 |  -9.0% |      
668.0 |   0.5% |    4009.4 | 500.2% |    4311.6 |   7.5% |
   | 32768 | 16 |     594.9 |     725.2 |  21.9% |     651.5 | -10.2% |      
671.2 |   3.0% |    3869.9 | 476.6% |    4823.0 |  24.6% |
   |  bpc  | #T ||      Zip ||     ZipC | % diff || PureJava | % diff || 
PureJavaC | % diff ||   Native | % diff ||  NativeC | % diff |
   | 65536 |  1 |     649.6 |     758.6 |  16.8% |     690.7 |  -8.9% |      
707.2 |   2.4% |    4433.7 | 527.0% |    6060.3 |  36.7% |
   | 65536 |  2 |     606.3 |     758.3 |  25.1% |     637.3 | -16.0% |      
708.3 |  11.1% |    4437.3 | 526.5% |    6235.9 |  40.5% |
   | 65536 |  4 |     601.2 |     723.8 |  20.4% |     660.5 |  -8.7% |      
679.3 |   2.8% |    3832.5 | 464.2% |    4620.2 |  20.6% |
   | 65536 |  8 |     608.1 |     718.5 |  18.2% |     676.1 |  -5.9% |      
676.5 |   0.1% |    4424.1 | 554.0% |    4624.2 |   4.5% |
   | 65536 | 16 |     596.1 |     727.7 |  22.1% |     651.9 | -10.4% |      
674.5 |   3.5% |    3911.9 | 480.0% |    4091.1 |   4.6% |
   Elapsed 460.2s
   [INFO] 
------------------------------------------------------------------------
   [INFO] BUILD SUCCESS
   [INFO] 
------------------------------------------------------------------------
   ```
   
   ### For code changes:
   
   - [x] Does the title or this PR starts with the corresponding JIRA issue id 
(e.g. 'HADOOP-17799. Your PR title ...')?
   - [ ] Object storage: have the integration tests been executed and the 
endpoint declared according to the connector-specific documentation?
   - [ ] If adding new dependencies to the code, are these dependencies 
licensed in a way that is compatible for inclusion under [ASF 
2.0](http://www.apache.org/legal/resolved.html#category-a)?
   - [ ] If applicable, have you updated the `LICENSE`, `LICENSE-binary`, 
`NOTICE-binary` files?
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to