arraybench/log
Shautvast b4e85092d2 v1
2023-08-28 20:18:40 +02:00

148 lines
7.5 KiB
Text

/Users/Shautvast/Library/Java/JavaVirtualMachines/openjdk-20.0.1/Contents/Home/bin/java -javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=64867:/Applications/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath /Users/Shautvast/dev/MultiDim/target/classes:/Users/Shautvast/.m2/repository/org/openjdk/jmh/jmh-core/1.36/jmh-core-1.36.jar:/Users/Shautvast/.m2/repository/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar:/Users/Shautvast/.m2/repository/org/apache/commons/commons-math3/3.2/commons-math3-3.2.jar org.openjdk.jmh.Main com.github.shautvast.benchmarks.loops.LoopBenchmark.*
# JMH version: 1.36
# VM version: JDK 20.0.1, OpenJDK 64-Bit Server VM, 20.0.1+9-29
# VM invoker: /Users/Shautvast/Library/Java/JavaVirtualMachines/openjdk-20.0.1/Contents/Home/bin/java
# VM options: -javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=64867:/Applications/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 5 iterations, 10 s each
# Measurement: 5 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: com.github.shautvast.benchmarks.loops.LoopBenchmark.cStyle
# Run progress: 0,00% complete, ETA 00:06:40
# Fork: 1 of 1
# Warmup Iteration 1: 1786,018 ns/op
# Warmup Iteration 2: 1888,074 ns/op
# Warmup Iteration 3: 1886,316 ns/op
# Warmup Iteration 4: 1883,777 ns/op
# Warmup Iteration 5: 1885,436 ns/op
Iteration 1: 1887,511 ns/op
Iteration 2: 1887,890 ns/op
Iteration 3: 1881,696 ns/op
Iteration 4: 1880,707 ns/op
Iteration 5: 1880,880 ns/op
Result "com.github.shautvast.benchmarks.loops.LoopBenchmark.cStyle":
1883,737 ±(99.9%) 14,017 ns/op [Average]
(min, avg, max) = (1880,707, 1883,737, 1887,890), stdev = 3,640
CI (99.9%): [1869,720, 1897,753] (assumes normal distribution)
# JMH version: 1.36
# VM version: JDK 20.0.1, OpenJDK 64-Bit Server VM, 20.0.1+9-29
# VM invoker: /Users/Shautvast/Library/Java/JavaVirtualMachines/openjdk-20.0.1/Contents/Home/bin/java
# VM options: -javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=64867:/Applications/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 5 iterations, 10 s each
# Measurement: 5 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: com.github.shautvast.benchmarks.loops.LoopBenchmark.enhancedForLoop
# Run progress: 25,00% complete, ETA 00:05:01
# Fork: 1 of 1
# Warmup Iteration 1: 1773,426 ns/op
# Warmup Iteration 2: 3586,275 ns/op
# Warmup Iteration 3: 5343,418 ns/op
# Warmup Iteration 4: 7113,420 ns/op
# Warmup Iteration 5: 8895,506 ns/op
Iteration 1: 10828,846 ns/op
Iteration 2: 12549,052 ns/op
Iteration 3: 14358,842 ns/op
Iteration 4: 16098,254 ns/op
Iteration 5: 17913,231 ns/op
Result "com.github.shautvast.benchmarks.loops.LoopBenchmark.enhancedForLoop":
14349,645 ±(99.9%) 10787,822 ns/op [Average]
(min, avg, max) = (10828,846, 14349,645, 17913,231), stdev = 2801,563
CI (99.9%): [3561,823, 25137,467] (assumes normal distribution)
# JMH version: 1.36
# VM version: JDK 20.0.1, OpenJDK 64-Bit Server VM, 20.0.1+9-29
# VM invoker: /Users/Shautvast/Library/Java/JavaVirtualMachines/openjdk-20.0.1/Contents/Home/bin/java
# VM options: -javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=64867:/Applications/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 5 iterations, 10 s each
# Measurement: 5 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: com.github.shautvast.benchmarks.loops.LoopBenchmark.iterator
# Run progress: 50,00% complete, ETA 00:03:21
# Fork: 1 of 1
# Warmup Iteration 1: 1769,666 ns/op
# Warmup Iteration 2: 3565,897 ns/op
# Warmup Iteration 3: 5353,325 ns/op
# Warmup Iteration 4: 7105,560 ns/op
# Warmup Iteration 5: 8896,662 ns/op
Iteration 1: 10685,108 ns/op
Iteration 2: 12501,131 ns/op
Iteration 3: 14238,345 ns/op
Iteration 4: 16071,297 ns/op
Iteration 5: 17752,151 ns/op
Result "com.github.shautvast.benchmarks.loops.LoopBenchmark.iterator":
14249,606 ±(99.9%) 10779,967 ns/op [Average]
(min, avg, max) = (10685,108, 14249,606, 17752,151), stdev = 2799,523
CI (99.9%): [3469,640, 25029,573] (assumes normal distribution)
# JMH version: 1.36
# VM version: JDK 20.0.1, OpenJDK 64-Bit Server VM, 20.0.1+9-29
# VM invoker: /Users/Shautvast/Library/Java/JavaVirtualMachines/openjdk-20.0.1/Contents/Home/bin/java
# VM options: -javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=64867:/Applications/IntelliJ IDEA.app/Contents/bin -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 5 iterations, 10 s each
# Measurement: 5 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: com.github.shautvast.benchmarks.loops.LoopBenchmark.stream
# Run progress: 75,00% complete, ETA 00:01:40
# Fork: 1 of 1
# Warmup Iteration 1: 693,098 ns/op
# Warmup Iteration 2: 2506,948 ns/op
# Warmup Iteration 3: 3707,563 ns/op
# Warmup Iteration 4: 4929,731 ns/op
# Warmup Iteration 5: 6242,310 ns/op
Iteration 1: 7212,976 ns/op
Iteration 2: 8328,529 ns/op
Iteration 3: 9825,261 ns/op
Iteration 4: 11371,792 ns/op
Iteration 5: 12182,884 ns/op
Result "com.github.shautvast.benchmarks.loops.LoopBenchmark.stream":
9784,288 ±(99.9%) 7939,705 ns/op [Average]
(min, avg, max) = (7212,976, 9784,288, 12182,884), stdev = 2061,916
CI (99.9%): [1844,584, 17723,993] (assumes normal distribution)
# Run complete. Total time: 00:06:42
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
LoopBenchmark.cStyle avgt 5 1883,737 ± 14,017 ns/op
LoopBenchmark.enhancedForLoop avgt 5 14349,645 ± 10787,822 ns/op
LoopBenchmark.iterator avgt 5 14249,606 ± 10779,967 ns/op
LoopBenchmark.stream avgt 5 9784,288 ± 7939,705 ns/op