# WARNING: JMH lock is ignored by user request, make sure no other JMH instances are running WARNING: A terminally deprecated method in sun.misc.Unsafe has been called WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.openjdk.jmh.util.Utils (file:/tmp/tone/run/jmh/jdk-repo/build/linux-x86_64-server-release/images/test/micro/benchmarks.jar) WARNING: Please consider reporting this to the maintainers of class org.openjdk.jmh.util.Utils WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release # JMH version: 1.37 # VM version: JDK 25-internal, OpenJDK 64-Bit Server VM, 25-internal-e410af00 # VM invoker: /tmp/tone/run/jmh/jdk-repo/build/linux-x86_64-server-release/images/jdk/bin/java # VM options: -Djava.library.path=/tmp/tone/run/jmh/jdk-repo/build/linux-x86_64-server-release/images/test/micro/native -Djmh.ignoreLock=true -Djava.library.path=/tmp/tone/run/jmh/jdk-repo/build/linux-x86_64-server-release/images/test/micro/native --add-opens=java.base/java.io=ALL-UNNAMED --enable-native-access=ALL-UNNAMED --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED --add-opens=java.base/sun.security.provider=ALL-UNNAMED --add-opens=java.base/com.sun.crypto.provider=ALL-UNNAMED # Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) # Warmup: 2 iterations, 10 s each # Measurement: 5 iterations, 10 s each # Timeout: 10 min per iteration # Threads: 1 thread, will synchronize iterations # Benchmark mode: Throughput, ops/time # Benchmark: org.openjdk.bench.jdk.incubator.vector.VectorCommutativeOperSharingBenchmark.commutativeShortOperationShairing # Parameters: (size = 1024) # Run progress: 0.00% complete, ETA 00:02:20 # Fork: 1 of 1 WARNING: A terminally deprecated method in sun.misc.Unsafe has been called WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.openjdk.jmh.util.Utils (file:/tmp/tone/run/jmh/jdk-repo/build/linux-x86_64-server-release/images/test/micro/benchmarks.jar) WARNING: Please consider reporting this to the maintainers of class org.openjdk.jmh.util.Utils WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release # Warmup Iteration 1: java.lang.NoClassDefFoundError: jdk/incubator/vector/Vector at org.openjdk.bench.jdk.incubator.vector.jmh_generated.VectorCommutativeOperSharingBenchmark_commutativeShortOperationShairing_jmhTest._jmh_tryInit_f_vectorcommutativeopersharingbenchmark0_0(VectorCommutativeOperSharingBenchmark_commutativeShortOperationShairing_jmhTest.java:339) at org.openjdk.bench.jdk.incubator.vector.jmh_generated.VectorCommutativeOperSharingBenchmark_commutativeShortOperationShairing_jmhTest.commutativeShortOperationShairing_Throughput(VectorCommutativeOperSharingBenchmark_commutativeShortOperationShairing_jmhTest.java:71) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) at java.base/java.lang.reflect.Method.invoke(Method.java:565) at org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call(BenchmarkHandler.java:527) at org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call(BenchmarkHandler.java:504) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:545) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) at java.base/java.lang.Thread.run(Thread.java:1447) Caused by: java.lang.ClassNotFoundException: jdk.incubator.vector.Vector at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490) ... 12 more # JMH version: 1.37 # VM version: JDK 25-internal, OpenJDK 64-Bit Server VM, 25-internal-e410af00 # VM invoker: /tmp/tone/run/jmh/jdk-repo/build/linux-x86_64-server-release/images/jdk/bin/java # VM options: -Djava.library.path=/tmp/tone/run/jmh/jdk-repo/build/linux-x86_64-server-release/images/test/micro/native -Djmh.ignoreLock=true -Djava.library.path=/tmp/tone/run/jmh/jdk-repo/build/linux-x86_64-server-release/images/test/micro/native --add-opens=java.base/java.io=ALL-UNNAMED --enable-native-access=ALL-UNNAMED --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED --add-opens=java.base/sun.security.provider=ALL-UNNAMED --add-opens=java.base/com.sun.crypto.provider=ALL-UNNAMED # Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) # Warmup: 2 iterations, 10 s each # Measurement: 5 iterations, 10 s each # Timeout: 10 min per iteration # Threads: 1 thread, will synchronize iterations # Benchmark mode: Throughput, ops/time # Benchmark: org.openjdk.bench.jdk.incubator.vector.VectorCommutativeOperSharingBenchmark.commutativeShortOperationShairing # Parameters: (size = 2048) # Run progress: 50.00% complete, ETA 00:00:01 # Fork: 1 of 1 WARNING: A terminally deprecated method in sun.misc.Unsafe has been called WARNING: sun.misc.Unsafe::objectFieldOffset has been called by org.openjdk.jmh.util.Utils (file:/tmp/tone/run/jmh/jdk-repo/build/linux-x86_64-server-release/images/test/micro/benchmarks.jar) WARNING: Please consider reporting this to the maintainers of class org.openjdk.jmh.util.Utils WARNING: sun.misc.Unsafe::objectFieldOffset will be removed in a future release # Warmup Iteration 1: java.lang.NoClassDefFoundError: jdk/incubator/vector/Vector at org.openjdk.bench.jdk.incubator.vector.jmh_generated.VectorCommutativeOperSharingBenchmark_commutativeShortOperationShairing_jmhTest._jmh_tryInit_f_vectorcommutativeopersharingbenchmark0_0(VectorCommutativeOperSharingBenchmark_commutativeShortOperationShairing_jmhTest.java:339) at org.openjdk.bench.jdk.incubator.vector.jmh_generated.VectorCommutativeOperSharingBenchmark_commutativeShortOperationShairing_jmhTest.commutativeShortOperationShairing_Throughput(VectorCommutativeOperSharingBenchmark_commutativeShortOperationShairing_jmhTest.java:71) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) at java.base/java.lang.reflect.Method.invoke(Method.java:565) at org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call(BenchmarkHandler.java:527) at org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call(BenchmarkHandler.java:504) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:545) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614) at java.base/java.lang.Thread.run(Thread.java:1447) Caused by: java.lang.ClassNotFoundException: jdk.incubator.vector.Vector at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490) ... 12 more # Run complete. Total time: 00:00:02 REMEMBER: The numbers below are just data. To gain reusable insights, you need to follow up on why the numbers are the way they are. Use profilers (see -prof, -lprof), design factorial experiments, perform baseline and negative tests that provide experimental control, make sure the benchmarking environment is safe on JVM/OS/HW level, ask for reviews from the domain experts. Do not assume the numbers tell you what you want them to tell. NOTE: Current JVM experimentally supports Compiler Blackholes, and they are in use. Please exercise extra caution when trusting the results, look into the generated code to check the benchmark still works, and factor in a small probability of new VM bugs. Additionally, while comparisons between different JVMs are already problematic, the performance difference caused by different Blackhole modes can be very significant. Please make sure you use the consistent Blackhole mode for comparisons. Benchmark Mode Cnt Score Error Units