arraybench/log
2023-08-28 21:27:59 +02:00

1225 lines
93 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

mvn clean package
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------< org.example:MultiDim >------------------------
[INFO] Building MultiDim 1.0-SNAPSHOT
[INFO] from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- clean:3.2.0:clean (default-clean) @ MultiDim ---
[INFO] Deleting /Users/Shautvast/dev/MultiDim/target
[INFO]
[INFO] --- resources:3.3.0:resources (default-resources) @ MultiDim ---
[INFO] Copying 0 resource
[INFO]
[INFO] --- compiler:3.8.0:compile (default-compile) @ MultiDim ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 4 source files to /Users/Shautvast/dev/MultiDim/target/classes
[INFO]
[INFO] --- resources:3.3.0:testResources (default-testResources) @ MultiDim ---
[INFO] skip non existing resourceDirectory /Users/Shautvast/dev/MultiDim/src/test/resources
[INFO]
[INFO] --- compiler:3.8.0:testCompile (default-testCompile) @ MultiDim ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to /Users/Shautvast/dev/MultiDim/target/test-classes
[INFO]
[INFO] --- surefire:3.0.0-M8:test (default-test) @ MultiDim ---
[INFO] Using auto detected provider org.apache.maven.surefire.junitplatform.JUnitPlatformProvider
[INFO]
[INFO] -------------------------------------------------------
[INFO] T E S T S
[INFO] -------------------------------------------------------
[INFO] Running com.github.shautvast.benchmarks.arrays.IntArrayTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.015 s - in com.github.shautvast.benchmarks.arrays.IntArrayTest
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO]
[INFO] --- jar:3.3.0:jar (default-jar) @ MultiDim ---
[INFO] Building jar: /Users/Shautvast/dev/MultiDim/target/MultiDim-1.0-SNAPSHOT.jar
[INFO]
[INFO] --- shade:3.2.4:shade (default) @ MultiDim ---
[INFO] Including org.openjdk.jmh:jmh-core:jar:1.36 in the shaded jar.
[INFO] Including net.sf.jopt-simple:jopt-simple:jar:5.0.4 in the shaded jar.
[INFO] Including org.apache.commons:commons-math3:jar:3.2 in the shaded jar.
[WARNING] MultiDim-1.0-SNAPSHOT.jar, commons-math3-3.2.jar, jmh-core-1.36.jar, jopt-simple-5.0.4.jar define 1 overlapping resource:
[WARNING] - META-INF/MANIFEST.MF
[WARNING] maven-shade-plugin has detected that some class files are
[WARNING] present in two or more JARs. When this happens, only one
[WARNING] single version of the class is copied to the uber jar.
[WARNING] Usually this is not harmful and you can skip these warnings,
[WARNING] otherwise try to manually exclude artifacts based on
[WARNING] mvn dependency:tree -Ddetail=true and the above output.
[WARNING] See http://maven.apache.org/plugins/maven-shade-plugin/
[INFO] Replacing /Users/Shautvast/dev/MultiDim/target/benchmark.jar with /Users/Shautvast/dev/MultiDim/target/MultiDim-1.0-SNAPSHOT-shaded.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.742 s
[INFO] Finished at: 2023-08-28T21:17:27+02:00
[INFO] ------------------------------------------------------------------------
MultiDim on  main [!] via ☕ v20.0.1 took 2s
➜ java -Djmh.blackhole.mode=COMPILER -cp target/benchmark.jar com.github.shautvast.benchmarks.loops.LoopBenchmark
Exception in thread "main" org.openjdk.jmh.runner.ProfilersFailedException: Profilers failed to initialize, exiting.
at org.openjdk.jmh.runner.Runner.internalRun(Runner.java:228)
at org.openjdk.jmh.runner.Runner.run(Runner.java:209)
at com.github.shautvast.benchmarks.loops.LoopBenchmark.main(LoopBenchmark.java:72)
Caused by: org.openjdk.jmh.profile.ProfilerException: [sudo: a password is required
]
at org.openjdk.jmh.profile.DTraceAsmProfiler.<init>(DTraceAsmProfiler.java:69)
at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:67)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:484)
at org.openjdk.jmh.profile.ProfilerFactory.instantiate(ProfilerFactory.java:82)
at org.openjdk.jmh.profile.ProfilerFactory.getProfiler(ProfilerFactory.java:77)
at org.openjdk.jmh.profile.ProfilerFactory.getProfilerOrException(ProfilerFactory.java:37)
at org.openjdk.jmh.runner.Runner.internalRun(Runner.java:225)
... 2 more
MultiDim on  main [!] via ☕ v20.0.1
sudo java -Djmh.blackhole.mode=COMPILER -cp target/benchmark.jar com.github.shautvast.benchmarks.loops.LoopBenchmark
Password:
The operation couldnt be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.
MultiDim on  main [!] via ☕ v20.0.1 took 9s
sudo
usage: sudo -h | -K | -k | -V
usage: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]
usage: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user] [command]
usage: sudo [-AbEHknPS] [-C num] [-D directory] [-g group] [-h host] [-p prompt] [-R directory] [-T timeout] [-u user] [VAR=value] [-i|-s] [<command>]
usage: sudo -e [-AknS] [-C num] [-D directory] [-g group] [-h host] [-p prompt] [-R directory] [-T timeout] [-u user] file ...
MultiDim on  main [!] via ☕ v20.0.1
sudo su -
192:~ root# java
The operation couldnt be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.
192:~ root# ~Shautvast/
.Trash/ .cargo/ .dropbox/ .jmc/ .npm/ .ssh/ .vscode/ Documents/ IdeaSnapshots/ Pictures/ dev/
.android/ .conda/ .gem/ .local/ .oh-my-zsh/ .swiftpm/ .yjp/ Downloads/ Library/ Public/ env/
.bundle/ .config/ .gradle/ .m2/ .pnpm-state/ .terminfo/ .zsh_sessions/ Dropbox/ Movies/ Snapshots/
.cache/ .docker/ .hawtjni/ .mint/ .rustup/ .vim/ Desktop/ IdeaProjects/ Music/ bin/
192:~ root# ~Shautvast/Library/
Accessibility/ DataAccess/ KeyboardServices/ Sharing/
Accounts/ DataDeliveryServices/ Keychains/ Sounds/
AppleMediaServices/ Developer/ LanguageModeling/ Spelling/
Application Scripts/ DoNotDisturb/ LaunchAgents/ Staging/
Application Support/ Dropbox/ Logs/ StatusKit/
Assistant/ DuetExpertCenter/ Mail/ Suggestions/
Assistants/ Favorites/ Messages/ SyncedPreferences/
Audio/ Finance/ Metadata/ Translation/
Autosave Information/ FontCollections/ Mobile Documents/ Trial/
Biome/ Fonts/ Passes/ Weather/
Caches/ FrontBoard/ PersonalizationPortrait/ WebKit/
Calendars/ GameKit/ Photos/ com.apple.WatchListKit/
CallServices/ Google/ PreferencePanes/ com.apple.aiml.instrumentation/
ColorPickers/ Group Containers/ Preferences/ com.apple.appleaccountd/
Colors/ HTTPStorages/ Printers/ com.apple.bluetooth.services.cloud/
Compositions/ HomeKit/ Reminders/ com.apple.iTunesCloud/
Contacts/ IdentityServices/ Safari/ com.apple.icloud.searchpartyd/
ContainerManager/ Input Methods/ SafariSafeBrowsing/ com.apple.internal.ck/
Containers/ IntelligencePlatform/ SafariSandboxBroker/ org.swift.swiftpm/
Cookies/ Internet Plug-Ins/ Saved Application State/ pnpm/
CoreFollowUp/ Java/ Screen Savers/ studentd/
DES/ Keyboard/ ScreenRecordings/
Daemon Containers/ Keyboard Layouts/ Services/
192:~ root# ~Shautvast/Library/Java/JavaVirtualMachines/
corretto-18.0.2/ jdk-17.0.7.jdk/ openjdk-19.0.2/ openjdk-20.0.1/
192:~ root# ~Shautvast/Library/Java/JavaVirtualMachines/openjdk-20.0.1/
-sh: /Users/Shautvast/Library/Java/JavaVirtualMachines/openjdk-20.0.1/: is a directory
192:~ root# logout
MultiDim on  main [!] via ☕ v20.0.1 took 1m
sudo /Users/Shautvast/Library/Java/JavaVirtualMachines/openjdk-20.0.1/Contents/Home/bin/java -Djmh.blackhole.mode=COMPILER -cp target/benchmark.jar 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: -Djmh.blackhole.mode=COMPILER
# Blackhole mode: compiler (forced)
# 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
# Preparing profilers: DTraceAsmProfiler
# Profilers consume stdout and stderr from target VM, use -v EXTRA to copy to console
# Warmup Iteration 1: 1781,850 ns/op
# Warmup Iteration 2: 1902,993 ns/op
# Warmup Iteration 3: 1889,591 ns/op
# Warmup Iteration 4: 1892,012 ns/op
# Warmup Iteration 5: 1893,306 ns/op
Iteration 1: 1891,110 ns/op
Iteration 2: 1890,956 ns/op
Iteration 3: 1885,661 ns/op
Iteration 4: 1887,144 ns/op
Iteration 5: 1886,112 ns/op
# Processing profiler results: DTraceAsmProfiler
Result "com.github.shautvast.benchmarks.loops.LoopBenchmark.cStyle":
1888,196 ±(99.9%) 10,184 ns/op [Average]
(min, avg, max) = (1885,661, 1888,196, 1891,110), stdev = 2,645
CI (99.9%): [1878,013, 1898,380] (assumes normal distribution)
Secondary result "com.github.shautvast.benchmarks.loops.LoopBenchmark.cStyle:·asm":
PrintAssembly processed: 36421 total address lines.
Perf output processed (skipped 51,680 seconds):
Column 1: sampled_pc (48015 events)
Hottest code regions (>10,00% "sampled_pc" events):
Event counts are percents of total event count.
....[Hottest Region 1]..............................................................................
c2, level 4, com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub, version 5, compile id 587
0x0000000112765da0: 0f00 a0d2 | 0f66 9df2
0x0000000112765da8: ; {metadata(&apos;java/lang/String&apos;)}
0x0000000112765da8: 1400 a0d2 | 1466 9df2
0x0000000112765db0: ; {metadata(&apos;java/lang/String&apos;)}
0x0000000112765db0: 0000 a0d2 | 0066 9df2
0x0000000112765db8: ; {metadata(&apos;java/util/ArrayList&apos;)}
0x0000000112765db8: 7101 a0d2 | 115e 9bf2 | 3700 0014 | 1f20 03d5 | 1f20 03d5 | 1f20 03d5
0,03% 0x0000000112765dd0: ;*lload_2 {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@13 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
0,03% 0x0000000112765dd0: e203 0a2a | cdc8 228b | ac11 40b9 | 8cf1 7dd3
0,03% 0x0000000112765de0: ; implicit exception: dispatches to 0x0000000112765f18
0,03% 0x0000000112765de0: 8a09 40b9 | 5f01 0f6b
23,57% 0x0000000112765de8: ;*aaload {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ArrayList::elementData@5 (line 411)
; - java.util.ArrayList::get@11 (line 428)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@20 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
23,57% 0x0000000112765de8: ad15 40b9
2,50% 0x0000000112765dec: ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@25 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
2,50% 0x0000000112765dec: 0112 0054
0,20% 0x0000000112765df0: ;*getfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::length@1 (line 1499)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@28 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
0,20% 0x0000000112765df0: 8a15 40b9
0x0000000112765df4: ;*aaload {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ArrayList::elementData@5 (line 411)
; - java.util.ArrayList::get@11 (line 428)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@20 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
0x0000000112765df4: adf1 7dd3
0,00% 0x0000000112765df8: ;*getfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::length@1 (line 1499)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@28 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
0,00% 0x0000000112765df8: 4af1 7dd3
0,20% 0x0000000112765dfc: ; implicit exception: dispatches to 0x000000011276605c
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::length@4 (line 1499)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@28 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
0,20% 0x0000000112765dfc: 4a0d 40b9
30,39% 0x0000000112765e00: ;*getfield coder {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::coder@7 (line 4556)
; - java.lang.String::length@6 (line 1499)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@28 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
30,39% 0x0000000112765e00: 8c41 c039 | 4a29 cc1a
0,02% 0x0000000112765e08: ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@32 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
0,02% 0x0000000112765e08: 84c0 2a8b | 4d08 00b4 | aa09 40b9 | 5f01 006b
0,04% 0x0000000112765e18: ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@25 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
0,04% 0x0000000112765e18: 6110 0054 | aa15 40b9
0,00% 0x0000000112765e20: ;*getfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::length@1 (line 1499)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@28 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
0,00% 0x0000000112765e20: 4af1 7dd3
0,22% 0x0000000112765e24: ; implicit exception: dispatches to 0x000000011276605c
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::length@4 (line 1499)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@28 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
0,22% 0x0000000112765e24: 4a0d 40b9
27,83% 0x0000000112765e28: ;*getfield coder {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::coder@7 (line 4556)
; - java.lang.String::length@6 (line 1499)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@28 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
27,83% 0x0000000112765e28: ad41 c039 | 4a29 cd1a
0,06% 0x0000000112765e30: ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@32 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
0,06% 0x0000000112765e30: 84c0 2a8b
0x0000000112765e34: ;*iinc {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@34 (line 34)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
0x0000000112765e34: 4a08 0011 | 5f9d 0f71
5,18% 0x0000000112765e3c: ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@10 (line 34)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
5,18% 0x0000000112765e3c: abfc ff54
0,27% 0x0000000112765e40: ; ImmutableOopMap {r14=Oop c_rarg1=Oop c_rarg3=Oop c_rarg5=Oop r11=Derived_oop_c_rarg5 c_rarg6=Oop r19=Oop }
;*goto {reexecute=1 rethrow=0 return_oop=0}
; - (reexecute) com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@37 (line 34)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
0,27% 0x0000000112765e40: 87c3 41f9
0x0000000112765e44: ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@37 (line 34)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
; {poll}
0x0000000112765e44: ff00 40b9
0x0000000112765e48: ;*getfield isDone {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@32 (line 195)
0x0000000112765e48: 6cfd df08
0x0000000112765e4c: ;*lload_2 {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@13 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
0x0000000112765e4c: 4208 0011 | cac8 228b | 4d11 40b9
0x0000000112765e58: ;*aaload {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ArrayList::elementData@5 (line 411)
; - java.util.ArrayList::get@11 (line 428)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@20 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
0x0000000112765e58: adf1 7dd3
0,04% 0x0000000112765e5c: ; implicit exception: dispatches to 0x000000011276606c
0,04% 0x0000000112765e5c: aa09 40b9 | 5f01 106b
0x0000000112765e64: ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@25 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
0x0000000112765e64: 810d 0054 | aa15 40b9
0x0000000112765e6c: ;*getfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::length@1 (line 1499)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@28 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
0x0000000112765e6c: 4af1 7dd3
0x0000000112765e70: ; implicit exception: dispatches to 0x000000011276605c
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::length@4 (line 1499)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@28 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
0x0000000112765e70: 4a0d 40b9
0,02% 0x0000000112765e74: ;*getfield coder {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::coder@7 (line 4556)
; - java.lang.String::length@6 (line 1499)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@28 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
0,02% 0x0000000112765e74: a741 c039 | 4d29 c71a
0x0000000112765e7c: ;*iinc {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@34 (line 34)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
0x0000000112765e7c: 4204 0011
0x0000000112765e80: ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@32 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
0x0000000112765e80: 84c0 2d8b | 5fa0 0f71
0x0000000112765e88: ;*getfield isDone {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@32 (line 195)
0x0000000112765e88: 4bfe ff54 | 8ac3 41f9
0x0000000112765e90: ; ImmutableOopMap {r14=Oop c_rarg1=Oop c_rarg3=Oop c_rarg5=Oop r11=Derived_oop_c_rarg5 r19=Oop }
;*ifeq {reexecute=1 rethrow=0 return_oop=0}
; - (reexecute) com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@35 (line 195)
0x0000000112765e90: bd07 0091
0,00% 0x0000000112765e94: ; {poll}
0,00% 0x0000000112765e94: 5f01 40b9
0x0000000112765e98: ;*aload_1 {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@38 (line 196)
0x0000000112765e98: ec04 0035 | 2c0c 40b9
0x0000000112765ea0: ;*getfield list {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@15 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
0x0000000112765ea0: 8af1 7dd3
0,02% 0x0000000112765ea4: ; implicit exception: dispatches to 0x0000000112765f94
0,02% 0x0000000112765ea4: 4c09 40b9 | 9f01 116b
0x0000000112765eac: ;*invokeinterface get {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@20 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
0x0000000112765eac: 4107 0054 | 4c15 40b9
0x0000000112765eb4: ;*getfield elementData {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ArrayList::elementData@1 (line 411)
; - java.util.ArrayList::get@11 (line 428)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@20 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
0x0000000112765eb4: 86f1 7dd3
0,00% 0x0000000112765eb8: ;*getfield size {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ArrayList::get@2 (line 427)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@20 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
0,00% 0x0000000112765eb8: 4c11 40b9
0x0000000112765ebc: ;*invokestatic checkIndex {reexecute=0 rethrow=0 return_oop=0}
; - java.util.Objects::checkIndex@3 (line 385)
; - java.util.ArrayList::get@5 (line 427)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@20 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
0x0000000112765ebc: cc06 f837 | ac06 0034 | 9f9d 0f71 | 6906 0054
0,01% 0x0000000112765ecc: ; implicit exception: dispatches to 0x0000000112765f94
0,01% 0x0000000112765ecc: cc0c 40b9 | 9f01 0071 | 0906 0054 | 9f9d 0f71 | c905 0054 | ca10 40b9
0x0000000112765ee4: ;*aaload {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ArrayList::elementData@5 (line 411)
; - java.util.ArrayList::get@11 (line 428)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@20 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
0x0000000112765ee4: 4df1 7dd3
0,01% 0x0000000112765ee8: ; implicit exception: dispatches to 0x000000011276607c
0,01% 0x0000000112765ee8: ac09 40b9 | 9f01 146b
0x0000000112765ef0: ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@25 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
0x0000000112765ef0: 210a 0054 | ac15 40b9
0x0000000112765ef8: ;*getfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::length@1 (line 1499)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::cStyle@28 (line 35)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub@19 (line 193)
0x0000000112765ef8: 8af1 7dd3
....................................................................................................
99,88% <total for region 1>
....[Hottest Regions]...............................................................................
99,88% c2, level 4 com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub, version 5, compile id 587
0,01% libsystem_kernel.dylib _kernelrpc_mach_port_deallocate_trap
0,01% libsystem_kernel.dylib thread_self_trap
0,01% libsystem_kernel.dylib write
0,00% libjvm.dylib PlatformMonitor::wait(long)
0,00% libjvm.dylib defaultStream::write(char const*, unsigned long)
0,00% libjvm.dylib VMThread::wait_for_operation()
0,00% libsystem_kernel.dylib mach_absolute_time
0,00% libsystem_platform.dylib _platform_memmove
0,00% libjvm.dylib Node::pinned() const
0,00% libjvm.dylib NullCheckEliminator::iterate_one(BlockBegin*)
0,00% libjvm.dylib VM_Operation::name() const
0,00% libjvm.dylib CompiledStaticCall::compute_entry(methodHandle const&, bool, StaticCallInfo&)
0,00% libjvm.dylib java_lang_ClassLoader::non_reflection_class_loader(oopDesc*)
0,00% libjvm.dylib Matcher::find_shared_visit(Matcher::MStack&, Node*, unsigned int, bool&, int&)
0,00% libjvm.dylib defaultStream::has_log_file()
0,00% libjvm.dylib defaultStream::write(char const*, unsigned long)
0,00% libjvm.dylib PerfLongVariant::sample()
0,00% libjvm.dylib RegMask::is_bound(unsigned int) const
0,00% libjvm.dylib StatSamplerTask::task()
0,04% <...other 20 warm regions...>
....................................................................................................
100,00% <totals>
....[Hottest Methods (after inlining)]..............................................................
99,88% c2, level 4 com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_cStyle_jmhTest::cStyle_avgt_jmhStub, version 5, compile id 587
0,01% libsystem_kernel.dylib _kernelrpc_mach_port_deallocate_trap
0,01% libsystem_kernel.dylib write
0,01% libsystem_kernel.dylib thread_self_trap
0,01% libjvm.dylib defaultStream::write(char const*, unsigned long)
0,00% libjvm.dylib PlatformMonitor::wait(long)
0,00% libsystem_platform.dylib _platform_memmove
0,00% c2, level 4 sun.security.provider.SHA::implCompress0, version 6, compile id 594
0,00% libjvm.dylib VMThread::wait_for_operation()
0,00% libsystem_kernel.dylib mach_absolute_time
0,00% libjvm.dylib TypeInt::eq(Type const*) const
0,00% libjvm.dylib defaultStream::has_log_file()
0,00% libsystem_kernel.dylib __commpage_gettimeofday_internal
0,00% libjvm.dylib DYLD-STUB$$memcpy
0,00% libjvm.dylib PerfLongVariant::sample()
0,00% libjvm.dylib Matcher::find_shared_visit(Matcher::MStack&, Node*, unsigned int, bool&, int&)
0,00% libjvm.dylib RegMask::is_bound(unsigned int) const
0,00% libjvm.dylib Node::pinned() const
0,00% interpreter nofast_aload_0 236 nofast_aload_0
0,00% libsystem_c.dylib __vfprintf
0,04% <...other 18 warm methods...>
....................................................................................................
100,00% <totals>
....[Distribution by Source]........................................................................
99,89% c2, level 4
0,05% libjvm.dylib
0,04% libsystem_kernel.dylib
0,01% libsystem_c.dylib
0,01% libsystem_platform.dylib
0,01% interpreter
0,00% 0x1121b1418
....................................................................................................
100,00% <totals>
# 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: -Djmh.blackhole.mode=COMPILER
# Blackhole mode: compiler (forced)
# 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:06
# Fork: 1 of 1
# Preparing profilers: DTraceAsmProfiler
# Profilers consume stdout and stderr from target VM, use -v EXTRA to copy to console
# Warmup Iteration 1: 1789,423 ns/op
# Warmup Iteration 2: 3670,283 ns/op
# Warmup Iteration 3: 5378,372 ns/op
# Warmup Iteration 4: 7143,560 ns/op
# Warmup Iteration 5: 8947,415 ns/op
Iteration 1: 10754,271 ns/op
Iteration 2: 12523,531 ns/op
Iteration 3: 14408,435 ns/op
Iteration 4: 16234,401 ns/op
Iteration 5: 17981,781 ns/op
# Processing profiler results: DTraceAsmProfiler
Result "com.github.shautvast.benchmarks.loops.LoopBenchmark.enhancedForLoop":
14380,484 ±(99.9%) 11060,940 ns/op [Average]
(min, avg, max) = (10754,271, 14380,484, 17981,781), stdev = 2872,491
CI (99.9%): [3319,544, 25441,424] (assumes normal distribution)
Secondary result "com.github.shautvast.benchmarks.loops.LoopBenchmark.enhancedForLoop:·asm":
PrintAssembly processed: 36321 total address lines.
Perf output processed (skipped 51,575 seconds):
Column 1: sampled_pc (49973 events)
Hottest code regions (>10,00% "sampled_pc" events):
Event counts are percents of total event count.
....[Hottest Region 1]..............................................................................
c2, level 4, com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub, version 5, compile id 574
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub@19 (line 193)
0x0000000113e5a6e8: 4604 0011
0x0000000113e5a6ec: ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::enhancedForLoop@42 (line 53)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub@19 (line 193)
0x0000000113e5a6ec: 63c0 218b | df00 0b6b
0x0000000113e5a6f4: ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::enhancedForLoop@20 (line 52)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub@19 (line 193)
0x0000000113e5a6f4: 8a00 0054 | ed03 022a | e203 062a | ebff ff17 | bf02 16eb | a1c3 851a | 2b04 0051 | 3f00 0b6b
0x0000000113e5a714: e103 0132 | 2bb0 8b1a | df00 0b6b
0x0000000113e5a720: ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::enhancedForLoop@44 (line 54)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub@19 (line 193)
0x0000000113e5a720: 6a07 0054 | 4204 0011 | 2600 0014 | 1f20 03d5
1,45% 0x0000000113e5a730: ;*aload {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::enhancedForLoop@23 (line 52)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub@19 (line 193)
1,45% 0x0000000113e5a730: e203 062a | e6c8 228b | c110 40b9 | 35f0 7dd3
0,88% 0x0000000113e5a740: ; implicit exception: dispatches to 0x0000000113e5a7e0
0,88% 0x0000000113e5a740: a10a 40b9 | 3f00 0f6b
29,09% 0x0000000113e5a748: ;*aaload {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ArrayList$Itr::next@64 (line 975)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::enhancedForLoop@25 (line 52)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub@19 (line 193)
29,09% 0x0000000113e5a748: c614 40b9
0x0000000113e5a74c: ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::enhancedForLoop@30 (line 52)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub@19 (line 193)
0x0000000113e5a74c: 4122 0054
2,42% 0x0000000113e5a750: ;*getfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::length@1 (line 1499)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::enhancedForLoop@38 (line 53)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub@19 (line 193)
2,42% 0x0000000113e5a750: a116 40b9
0,10% 0x0000000113e5a754: ;*aaload {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ArrayList$Itr::next@64 (line 975)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::enhancedForLoop@25 (line 52)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub@19 (line 193)
0,10% 0x0000000113e5a754: d4f0 7dd3
0,56% 0x0000000113e5a758: ;*getfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::length@1 (line 1499)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::enhancedForLoop@38 (line 53)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub@19 (line 193)
0,56% 0x0000000113e5a758: 21f0 7dd3
0,26% 0x0000000113e5a75c: ; implicit exception: dispatches to 0x0000000113e5abd4
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::length@4 (line 1499)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::enhancedForLoop@38 (line 53)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub@19 (line 193)
0,26% 0x0000000113e5a75c: 210c 40b9
23,18% 0x0000000113e5a760: ;*getfield coder {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::coder@7 (line 4556)
; - java.lang.String::length@6 (line 1499)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::enhancedForLoop@38 (line 53)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub@19 (line 193)
23,18% 0x0000000113e5a760: a642 c039 | 2128 c61a
2,36% 0x0000000113e5a768: ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::enhancedForLoop@42 (line 53)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub@19 (line 193)
2,36% 0x0000000113e5a768: 63c0 218b | 9403 00b4 | 810a 40b9 | 3f00 0e6b
2,32% 0x0000000113e5a778: ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::enhancedForLoop@30 (line 52)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub@19 (line 193)
2,32% 0x0000000113e5a778: a120 0054 | 8116 40b9
0,00% 0x0000000113e5a780: ;*getfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::length@1 (line 1499)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::enhancedForLoop@38 (line 53)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub@19 (line 193)
0,00% 0x0000000113e5a780: 21f0 7dd3
1,81% 0x0000000113e5a784: ; implicit exception: dispatches to 0x0000000113e5abd4
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::length@4 (line 1499)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::enhancedForLoop@38 (line 53)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub@19 (line 193)
1,81% 0x0000000113e5a784: 210c 40b9
17,19% 0x0000000113e5a788: ;*getfield coder {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::coder@7 (line 4556)
; - java.lang.String::length@6 (line 1499)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::enhancedForLoop@38 (line 53)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub@19 (line 193)
17,19% 0x0000000113e5a788: 8642 c039 | 2128 c61a
0,01% 0x0000000113e5a790: ;*iadd {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ArrayList$Itr::next@53 (line 974)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::enhancedForLoop@25 (line 52)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub@19 (line 193)
0,01% 0x0000000113e5a790: 4608 0011
0,39% 0x0000000113e5a794: ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::enhancedForLoop@42 (line 53)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub@19 (line 193)
0,39% 0x0000000113e5a794: 63c0 218b | df00 0d6b
0x0000000113e5a79c: ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::enhancedForLoop@20 (line 52)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub@19 (line 193)
0x0000000113e5a79c: abfc ff54 | e103 022a | 94c3 41f9 | 2d08 0011
0x0000000113e5a7ac: ; ImmutableOopMap {r12=Oop r17=Oop c_rarg4=Oop c_rarg7=Oop r23=Oop rlocals=Oop r25=Oop }
;*goto {reexecute=1 rethrow=0 return_oop=0}
; - (reexecute) com.github.shautvast.benchmarks.loops.LoopBenchmark::enhancedForLoop@44 (line 54)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub@19 (line 193)
0x0000000113e5a7ac: 2104 0011
0,03% 0x0000000113e5a7b0: ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::enhancedForLoop@44 (line 54)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub@19 (line 193)
; {poll}
0,03% 0x0000000113e5a7b0: 9f02 40b9 | df00 0b6b | 8a02 0054
0x0000000113e5a7bc: ;*aload {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::enhancedForLoop@23 (line 52)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub@19 (line 193)
0x0000000113e5a7bc: e203 062a | 7f01 026b | 6101 024b | e1b3 811a | 3f40 1f71 | 6183 811a | 2d00 020b | d7ff ff17
0x0000000113e5a7dc: ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::enhancedForLoop@30 (line 52)
....................................................................................................
99,80% <total for region 1>
....[Hottest Regions]...............................................................................
99,80% c2, level 4 com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub, version 5, compile id 574
0,05% c2, level 4 com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub, version 5, compile id 574
0,02% libsystem_kernel.dylib _kernelrpc_mach_port_deallocate_trap
0,01% libsystem_kernel.dylib thread_self_trap
0,01% c2, level 4 com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub, version 5, compile id 574
0,01% libsystem_kernel.dylib write
0,01% libsystem_kernel.dylib __psynch_cvwait
0,00% libjvm.dylib fileStream::write(char const*, unsigned long)
0,00% libjvm.dylib defaultStream::has_log_file()
0,00% libjvm.dylib xmlStream::write_text(char const*, unsigned long)
0,00% c2, level 4 com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub, version 5, compile id 574
0,00% libsystem_kernel.dylib __error
0,00% libsystem_platform.dylib _platform_memmove
0,00% libjvm.dylib Klass::is_klass() const
0,00% libjvm.dylib LIR_Assembler::const2reg(LIR_Opr, LIR_Opr, LIR_PatchCode, CodeEmitInfo*)
0,00% libjvm.dylib LinearScanWalker::alloc_free_reg(Interval*)
0,00% libjvm.dylib NullCheckEliminator::visit(Instruction**)
0,00% libjvm.dylib PhaseChaitin::Select()
0,00% libjvm.dylib ConstantPool::impl_name_ref_at(int, bool)
0,00% libjvm.dylib PhaseChaitin::add_input_to_liveout(Block*, Node*, IndexSet*, double, PhaseChaitin::Pressure&, PhaseChaitin::Pressure&)
0,05% <...other 26 warm regions...>
....................................................................................................
100,00% <totals>
....[Hottest Methods (after inlining)]..............................................................
99,87% c2, level 4 com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_enhancedForLoop_jmhTest::enhancedForLoop_avgt_jmhStub, version 5, compile id 574
0,02% libsystem_kernel.dylib _kernelrpc_mach_port_deallocate_trap
0,01% libsystem_kernel.dylib thread_self_trap
0,01% libsystem_kernel.dylib write
0,01% <unknown>
0,01% libsystem_kernel.dylib __psynch_cvwait
0,00% libjvm.dylib defaultStream::has_log_file()
0,00% libjvm.dylib fileStream::write(char const*, unsigned long)
0,00% libsystem_c.dylib __vfprintf
0,00% libsystem_platform.dylib _platform_memmove
0,00% libsystem_kernel.dylib __error
0,00% libjvm.dylib xmlStream::write_text(char const*, unsigned long)
0,00% libsystem_c.dylib __v2printf
0,00% libjvm.dylib PhaseChaitin::add_input_to_liveout(Block*, Node*, IndexSet*, double, PhaseChaitin::Pressure&, PhaseChaitin::Pressure&)
0,00% libjvm.dylib NullCheckEliminator::visit(Instruction**)
0,00% libjvm.dylib TypeOopPtr::eq(Type const*) const
0,00% libjvm.dylib Node::is_dead_loop_safe() const
0,00% libjvm.dylib PhaseIterGVN::add_users_to_worklist(Node*)
0,00% libjvm.dylib defaultStream::hold(long)
0,00% libjvm.dylib ConstantPool::impl_name_ref_at(int, bool)
0,04% <...other 18 warm methods...>
....................................................................................................
100,00% <totals>
....[Distribution by Source]........................................................................
99,87% c2, level 4
0,05% libsystem_kernel.dylib
0,04% libjvm.dylib
0,01% libsystem_c.dylib
0,01%
0,00% libsystem_pthread.dylib
0,00% libsystem_platform.dylib
0,00% dyld
0,00% interpreter
....................................................................................................
100,00% <totals>
# 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: -Djmh.blackhole.mode=COMPILER
# Blackhole mode: compiler (forced)
# 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:24
# Fork: 1 of 1
# Preparing profilers: DTraceAsmProfiler
# Profilers consume stdout and stderr from target VM, use -v EXTRA to copy to console
# Warmup Iteration 1: 1788,035 ns/op
# Warmup Iteration 2: 3623,369 ns/op
# Warmup Iteration 3: 5376,288 ns/op
# Warmup Iteration 4: 7166,902 ns/op
# Warmup Iteration 5: 8969,890 ns/op
Iteration 1: 10749,562 ns/op
Iteration 2: 12534,690 ns/op
Iteration 3: 14450,599 ns/op
Iteration 4: 16235,645 ns/op
Iteration 5: 18026,621 ns/op
# Processing profiler results: DTraceAsmProfiler
Result "com.github.shautvast.benchmarks.loops.LoopBenchmark.iterator":
14399,423 ±(99.9%) 11115,231 ns/op [Average]
(min, avg, max) = (10749,562, 14399,423, 18026,621), stdev = 2886,590
CI (99.9%): [3284,192, 25514,654] (assumes normal distribution)
Secondary result "com.github.shautvast.benchmarks.loops.LoopBenchmark.iterator:·asm":
PrintAssembly processed: 37776 total address lines.
Perf output processed (skipped 51,743 seconds):
Column 1: sampled_pc (49971 events)
Hottest code regions (>10,00% "sampled_pc" events):
Event counts are percents of total event count.
....[Hottest Region 1]..............................................................................
c2, level 4, com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_iterator_jmhTest::iterator_avgt_jmhStub, version 5, compile id 585
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_iterator_jmhTest::iterator_avgt_jmhStub@19 (line 193)
0x000000013840d100: 84c0 218b | ff00 0d6b
0x000000013840d108: ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::iterator@20 (line 43)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_iterator_jmhTest::iterator_avgt_jmhStub@19 (line 193)
0x000000013840d108: 8a00 0054 | f003 032a | e303 072a | ebff ff17 | df02 17eb | a1c0 911a | 2d04 0051 | 3f00 0d6b
0x000000013840d128: e103 0132 | 2db0 8d1a | ff00 0d6b
0x000000013840d134: ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::iterator@40 (line 44)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_iterator_jmhTest::iterator_avgt_jmhStub@19 (line 193)
0x000000013840d134: 4a07 0054 | 6304 0011 | 2500 0014
1,54% 0x000000013840d140: ;*lload_2 {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::iterator@23 (line 44)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_iterator_jmhTest::iterator_avgt_jmhStub@19 (line 193)
1,54% 0x000000013840d140: e303 072a | 87ca 238b | e110 40b9 | 36f0 7dd3
1,08% 0x000000013840d150: ; implicit exception: dispatches to 0x000000013840d1f0
1,08% 0x000000013840d150: c10a 40b9 | 3f00 0b6b
30,38% 0x000000013840d158: ;*aaload {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ArrayList$Itr::next@64 (line 975)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::iterator@26 (line 44)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_iterator_jmhTest::iterator_avgt_jmhStub@19 (line 193)
30,38% 0x000000013840d158: e714 40b9
0x000000013840d15c: ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::iterator@31 (line 44)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_iterator_jmhTest::iterator_avgt_jmhStub@19 (line 193)
0x000000013840d15c: a120 0054
2,55% 0x000000013840d160: ;*getfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::length@1 (line 1499)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::iterator@34 (line 44)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_iterator_jmhTest::iterator_avgt_jmhStub@19 (line 193)
2,55% 0x000000013840d160: c116 40b9
0,23% 0x000000013840d164: ;*aaload {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ArrayList$Itr::next@64 (line 975)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::iterator@26 (line 44)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_iterator_jmhTest::iterator_avgt_jmhStub@19 (line 193)
0,23% 0x000000013840d164: f5f0 7dd3
0,31% 0x000000013840d168: ;*getfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::length@1 (line 1499)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::iterator@34 (line 44)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_iterator_jmhTest::iterator_avgt_jmhStub@19 (line 193)
0,31% 0x000000013840d168: 21f0 7dd3
0,24% 0x000000013840d16c: ; implicit exception: dispatches to 0x000000013840d608
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::length@4 (line 1499)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::iterator@34 (line 44)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_iterator_jmhTest::iterator_avgt_jmhStub@19 (line 193)
0,24% 0x000000013840d16c: 210c 40b9
22,37% 0x000000013840d170: ;*getfield coder {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::coder@7 (line 4556)
; - java.lang.String::length@6 (line 1499)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::iterator@34 (line 44)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_iterator_jmhTest::iterator_avgt_jmhStub@19 (line 193)
22,37% 0x000000013840d170: c742 c039 | 2128 c71a
1,57% 0x000000013840d178: ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::iterator@38 (line 44)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_iterator_jmhTest::iterator_avgt_jmhStub@19 (line 193)
1,57% 0x000000013840d178: 84c0 218b | 9503 00b4 | a10a 40b9 | 3f00 0a6b
1,61% 0x000000013840d188: ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::iterator@31 (line 44)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_iterator_jmhTest::iterator_avgt_jmhStub@19 (line 193)
1,61% 0x000000013840d188: 011f 0054 | a116 40b9
0,00% 0x000000013840d190: ;*getfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::length@1 (line 1499)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::iterator@34 (line 44)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_iterator_jmhTest::iterator_avgt_jmhStub@19 (line 193)
0,00% 0x000000013840d190: 21f0 7dd3
1,33% 0x000000013840d194: ; implicit exception: dispatches to 0x000000013840d608
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::length@4 (line 1499)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::iterator@34 (line 44)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_iterator_jmhTest::iterator_avgt_jmhStub@19 (line 193)
1,33% 0x000000013840d194: 210c 40b9
17,53% 0x000000013840d198: ;*getfield coder {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::coder@7 (line 4556)
; - java.lang.String::length@6 (line 1499)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::iterator@34 (line 44)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_iterator_jmhTest::iterator_avgt_jmhStub@19 (line 193)
17,53% 0x000000013840d198: a742 c039 | 2128 c71a
0,02% 0x000000013840d1a0: ;*iadd {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ArrayList$Itr::next@53 (line 974)
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::iterator@26 (line 44)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_iterator_jmhTest::iterator_avgt_jmhStub@19 (line 193)
0,02% 0x000000013840d1a0: 6708 0011
1,00% 0x000000013840d1a4: ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::iterator@38 (line 44)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_iterator_jmhTest::iterator_avgt_jmhStub@19 (line 193)
1,00% 0x000000013840d1a4: 84c0 218b | ff00 106b
0x000000013840d1ac: ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::iterator@20 (line 43)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_iterator_jmhTest::iterator_avgt_jmhStub@19 (line 193)
0x000000013840d1ac: abfc ff54 | e103 032a | 95c3 41f9 | 3008 0011
0x000000013840d1bc: ; ImmutableOopMap {r15=Oop c_rarg0=Oop c_rarg6=Oop resp=Oop rlocals=Oop r25=Oop rcpool=Oop }
;*goto {reexecute=1 rethrow=0 return_oop=0}
; - (reexecute) com.github.shautvast.benchmarks.loops.LoopBenchmark::iterator@40 (line 44)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_iterator_jmhTest::iterator_avgt_jmhStub@19 (line 193)
0x000000013840d1bc: 2104 0011
0,03% 0x000000013840d1c0: ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::iterator@40 (line 44)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_iterator_jmhTest::iterator_avgt_jmhStub@19 (line 193)
; {poll}
0,03% 0x000000013840d1c0: bf02 40b9 | ff00 0d6b | 8a02 0054
0x000000013840d1cc: ;*lload_2 {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::iterator@23 (line 44)
; - com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_iterator_jmhTest::iterator_avgt_jmhStub@19 (line 193)
0x000000013840d1cc: e303 072a | bf01 036b | a101 034b | e1b3 811a | 3f40 1f71 | 6183 811a | 3000 030b | d7ff ff17
0x000000013840d1ec: ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
; - com.github.shautvast.benchmarks.loops.LoopBenchmark::iterator@31 (line 44)
....................................................................................................
99,83% <total for region 1>
....[Hottest Regions]...............................................................................
99,83% c2, level 4 com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_iterator_jmhTest::iterator_avgt_jmhStub, version 5, compile id 585
0,03% c2, level 4 com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_iterator_jmhTest::iterator_avgt_jmhStub, version 5, compile id 585
0,01% libsystem_kernel.dylib thread_self_trap
0,01% c2, level 4 com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_iterator_jmhTest::iterator_avgt_jmhStub, version 5, compile id 585
0,01% libsystem_kernel.dylib _kernelrpc_mach_port_deallocate_trap
0,00% libjvm.dylib xmlStream::write_text(char const*, unsigned long)
0,00% c2, level 4 com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_iterator_jmhTest::iterator_avgt_jmhStub, version 5, compile id 585
0,00% libsystem_kernel.dylib write
0,00% libsystem_kernel.dylib __write_nocancel
0,00% libdyld.dylib tlv_get_addr
0,00% libjvm.dylib Node::is_CFG() const
0,00% libjvm.dylib UniverseOper::opcode() const
0,00% libjvm.dylib LinearScan::allocate_registers()
0,00% libjvm.dylib URShiftLNode::Opcode() const
0,00% libjvm.dylib RegionNode::pinned() const
0,00% libjvm.dylib CodeBlob::flush()
0,00% libjvm.dylib CodeCache::find_blob(void*)
0,00% libjvm.dylib ConstantPool::impl_name_ref_at(int, bool)
0,00% libjvm.dylib ConstantPool::impl_tag_ref_at(int, bool)
0,00% libjvm.dylib DIR_Chunk* GrowableArrayWithAllocator<DIR_Chunk*, GrowableArray<DIR_Chunk*>>::insert_sorted<&DIR_Chunk::compare(DIR_Chunk* const&, DIR_Chunk* const&)>(DIR_Chunk* const&)
0,06% <...other 30 warm regions...>
....................................................................................................
100,00% <totals>
....[Hottest Methods (after inlining)]..............................................................
99,88% c2, level 4 com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_iterator_jmhTest::iterator_avgt_jmhStub, version 5, compile id 585
0,01% libsystem_kernel.dylib thread_self_trap
0,01% libsystem_kernel.dylib _kernelrpc_mach_port_deallocate_trap
0,01% <unknown>
0,00% libsystem_kernel.dylib write
0,00% libsystem_c.dylib __vfprintf
0,00% libsystem_kernel.dylib __write_nocancel
0,00% libdyld.dylib tlv_get_addr
0,00% libjvm.dylib xmlStream::write_text(char const*, unsigned long)
0,00% libjvm.dylib ConnectionGraph::compute_escape()
0,00% libsystem_platform.dylib flsl
0,00% libjvm.dylib ValueRecorder<Metadata*>::maybe_find_index(Metadata*)
0,00% libjvm.dylib CodeBlob::flush()
0,00% libjvm.dylib PhaseIdealLoop::build_loop_early(VectorSet&, Node_List&, Node_Stack&)
0,00% libjvm.dylib CodeCache::find_blob(void*)
0,00% libjvm.dylib ConstantPool::impl_name_ref_at(int, bool)
0,00% libsystem_pthread.dylib pthread_mutex_unlock
0,00% libjvm.dylib fileStream::write(char const*, unsigned long)
0,00% libjvm.dylib defaultStream::write(char const*, unsigned long)
0,00% libjvm.dylib PhaseCCP::transform_once(Node*)
0,04% <...other 22 warm methods...>
....................................................................................................
100,00% <totals>
....[Distribution by Source]........................................................................
99,88% c2, level 4
0,06% libjvm.dylib
0,03% libsystem_kernel.dylib
0,01%
0,01% libsystem_platform.dylib
0,00% libsystem_pthread.dylib
0,00% libdyld.dylib
0,00% libsystem_c.dylib
0,00% c1, level 3
0,00% interpreter
....................................................................................................
100,00% <totals>
# 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: -Djmh.blackhole.mode=COMPILER
# Blackhole mode: compiler (forced)
# 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:42
# Fork: 1 of 1
# Preparing profilers: DTraceAsmProfiler
# Profilers consume stdout and stderr from target VM, use -v EXTRA to copy to console
# Warmup Iteration 1: 706,956 ns/op
# Warmup Iteration 2: 2417,531 ns/op
# Warmup Iteration 3: 3942,159 ns/op
# Warmup Iteration 4: 5013,697 ns/op
# Warmup Iteration 5: 5879,023 ns/op
Iteration 1: 7374,025 ns/op
Iteration 2: 8506,645 ns/op
Iteration 3: 9751,840 ns/op
Iteration 4: 11149,152 ns/op
Iteration 5: 11618,932 ns/op
# Processing profiler results: DTraceAsmProfiler
Result "com.github.shautvast.benchmarks.loops.LoopBenchmark.stream":
9680,119 ±(99.9%) 6838,907 ns/op [Average]
(min, avg, max) = (7374,025, 9680,119, 11618,932), stdev = 1776,043
CI (99.9%): [2841,211, 16519,026] (assumes normal distribution)
Secondary result "com.github.shautvast.benchmarks.loops.LoopBenchmark.stream:·asm":
PrintAssembly processed: 40611 total address lines.
Perf output processed (skipped 51,633 seconds):
Column 1: sampled_pc (49949 events)
Hottest code regions (>10,00% "sampled_pc" events):
Event counts are percents of total event count.
....[Hottest Region 1]..............................................................................
c2, level 4, java.util.stream.AbstractPipeline::evaluate, version 4, compile id 682
; - java.util.stream.ReduceOps$8ReducingSink::get@1 (line 464)
; - java.util.stream.ReduceOps$ReduceOp::evaluateSequential@12 (line 921)
; - java.util.stream.AbstractPipeline::evaluate@88 (line 234)
0x0000000116487c5c: c600 0c0b | abc8 2c8b | 6111 40b9
0,00% 0x0000000116487c68: ;*invokeinterface begin {reexecute=0 rethrow=0 return_oop=0}
; - java.util.stream.Sink$ChainedReference::begin@5 (line 253)
; - java.util.stream.AbstractPipeline::copyInto@-1 (line 505)
; - java.util.stream.AbstractPipeline::wrapAndCopyInto@13 (line 499)
; - java.util.stream.ReduceOps$ReduceOp::evaluateSequential@6 (line 921)
; - java.util.stream.AbstractPipeline::evaluate@88 (line 234)
0,00% 0x0000000116487c68: 27f0 7dd3
0,10% 0x0000000116487c6c: ; implicit exception: dispatches to 0x0000000116488870
0,10% 0x0000000116487c6c: e108 40b9
0x0000000116487c70: ;*synchronization entry
; - java.util.stream.ReduceOps$8ReducingSink::get@-1 (line 480)
; - java.util.stream.ReduceOps$8ReducingSink::get@1 (line 464)
; - java.util.stream.ReduceOps$ReduceOp::evaluateSequential@12 (line 921)
; - java.util.stream.AbstractPipeline::evaluate@88 (line 234)
0x0000000116487c70: 3f00 046b
26,39% 0x0000000116487c74: ;*ifle {reexecute=0 rethrow=0 return_oop=0}
; - java.util.stream.AbstractPipeline::wrapSink@11 (line 546)
; - java.util.stream.AbstractPipeline::wrapAndCopyInto@9 (line 499)
; - java.util.stream.ReduceOps$ReduceOp::evaluateSequential@6 (line 921)
; - java.util.stream.AbstractPipeline::evaluate@88 (line 234)
26,39% 0x0000000116487c74: 6b15 40b9 | c158 0054
0,09% 0x0000000116487c7c: ;*invokeinterface begin {reexecute=0 rethrow=0 return_oop=0}
; - java.util.stream.Sink$ChainedReference::begin@5 (line 253)
; - java.util.stream.AbstractPipeline::copyInto@-1 (line 505)
; - java.util.stream.AbstractPipeline::wrapAndCopyInto@13 (line 499)
; - java.util.stream.ReduceOps$ReduceOp::evaluateSequential@6 (line 921)
; - java.util.stream.AbstractPipeline::evaluate@88 (line 234)
0,09% 0x0000000116487c7c: e114 40b9
0,00% 0x0000000116487c80: ;*invokeinterface evaluateSequential {reexecute=0 rethrow=0 return_oop=0}
; - java.util.stream.AbstractPipeline::evaluate@88 (line 234)
0,00% 0x0000000116487c80: 6df1 7dd3 | 2bf0 7dd3
0,18% 0x0000000116487c88: ; implicit exception: dispatches to 0x00000001164887e8
;*synchronization entry
; - java.util.stream.ReduceOps$8ReducingSink::get@-1 (line 480)
; - java.util.stream.ReduceOps$8ReducingSink::get@1 (line 464)
; - java.util.stream.ReduceOps$ReduceOp::evaluateSequential@12 (line 921)
; - java.util.stream.AbstractPipeline::evaluate@88 (line 234)
0,18% 0x0000000116487c88: 6b0d 40b9
0,60% 0x0000000116487c8c: ;*invokeinterface begin {reexecute=0 rethrow=0 return_oop=0}
; - java.util.stream.Sink$ChainedReference::begin@5 (line 253)
; - java.util.stream.AbstractPipeline::copyInto@-1 (line 505)
; - java.util.stream.AbstractPipeline::wrapAndCopyInto@13 (line 499)
; - java.util.stream.ReduceOps$ReduceOp::evaluateSequential@6 (line 921)
; - java.util.stream.AbstractPipeline::evaluate@88 (line 234)
0,60% 0x0000000116487c8c: e140 c039
0x0000000116487c90: ;*synchronization entry
; - java.util.stream.ReduceOps$8ReducingSink::get@-1 (line 480)
; - java.util.stream.ReduceOps$8ReducingSink::get@1 (line 464)
; - java.util.stream.ReduceOps$ReduceOp::evaluateSequential@12 (line 921)
; - java.util.stream.AbstractPipeline::evaluate@88 (line 234)
0x0000000116487c90: 6129 c11a
0x0000000116487c94: ;*invokeinterface begin {reexecute=0 rethrow=0 return_oop=0}
; - java.util.stream.Sink$ChainedReference::begin@5 (line 253)
; - java.util.stream.AbstractPipeline::copyInto@-1 (line 505)
; - java.util.stream.AbstractPipeline::wrapAndCopyInto@13 (line 499)
; - java.util.stream.ReduceOps$ReduceOp::evaluateSequential@6 (line 921)
; - java.util.stream.AbstractPipeline::evaluate@88 (line 234)
0x0000000116487c94: d6c2 218b
0x0000000116487c98: ;*synchronization entry
; - java.util.stream.AbstractPipeline::copyInto@-1 (line 505)
; - java.util.stream.AbstractPipeline::wrapAndCopyInto@13 (line 499)
; - java.util.stream.ReduceOps$ReduceOp::evaluateSequential@6 (line 921)
; - java.util.stream.AbstractPipeline::evaluate@88 (line 234)
0x0000000116487c98: 8705 0011
1,35% 0x0000000116487c9c: ;*invokeinterface begin {reexecute=0 rethrow=0 return_oop=0}
; - java.util.stream.Sink$ChainedReference::begin@5 (line 253)
; - java.util.stream.AbstractPipeline::copyInto@-1 (line 505)
; - java.util.stream.AbstractPipeline::wrapAndCopyInto@13 (line 499)
; - java.util.stream.ReduceOps$ReduceOp::evaluateSequential@6 (line 921)
; - java.util.stream.AbstractPipeline::evaluate@88 (line 234)
1,35% 0x0000000116487c9c: b60a 00f9
37,27% 0x0000000116487ca0: ; implicit exception: dispatches to 0x0000000116488874
37,27% 0x0000000116487ca0: a109 40b9
1,45% 0x0000000116487ca4: ;*synchronization entry
; - java.util.stream.ReduceOps$8ReducingSink::get@-1 (line 480)
; - java.util.stream.ReduceOps$8ReducingSink::get@1 (line 464)
; - java.util.stream.ReduceOps$ReduceOp::evaluateSequential@12 (line 921)
; - java.util.stream.AbstractPipeline::evaluate@88 (line 234)
1,45% 0x0000000116487ca4: 3f00 036b
1,29% 0x0000000116487ca8: ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
; - java.util.stream.Sink$ChainedReference::&lt;init&gt;@9 (line 248)
; - java.util.stream.ReferencePipeline$5$1::&lt;init&gt;@7 (line 228)
; - java.util.stream.ReferencePipeline$5::opWrapSink@6 (line 228)
; - java.util.stream.AbstractPipeline::wrapSink@-1 (line 544)
; - java.util.stream.AbstractPipeline::wrapAndCopyInto@9 (line 499)
; - java.util.stream.ReduceOps$ReduceOp::evaluateSequential@6 (line 921)
; - java.util.stream.AbstractPipeline::evaluate@88 (line 234)
1,29% 0x0000000116487ca8: c157 0054
0,07% 0x0000000116487cac: ;*putfield downstream {reexecute=0 rethrow=0 return_oop=0}
; - java.util.stream.Sink$ChainedReference::&lt;init&gt;@12 (line 248)
; - java.util.stream.ReferencePipeline$5$1::&lt;init&gt;@7 (line 228)
; - java.util.stream.ReferencePipeline$5::opWrapSink@6 (line 228)
; - java.util.stream.AbstractPipeline::wrapSink@-1 (line 544)
; - java.util.stream.AbstractPipeline::wrapAndCopyInto@9 (line 499)
; - java.util.stream.ReduceOps$ReduceOp::evaluateSequential@6 (line 921)
; - java.util.stream.AbstractPipeline::evaluate@88 (line 234)
0,07% 0x0000000116487cac: a115 40b9
0,00% 0x0000000116487cb0: ;*invokespecial &lt;init&gt; {reexecute=0 rethrow=0 return_oop=0}
; - java.util.stream.ReferencePipeline$5$1::&lt;init&gt;@7 (line 228)
; - java.util.stream.ReferencePipeline$5::opWrapSink@6 (line 228)
; - java.util.stream.AbstractPipeline::wrapSink@-1 (line 544)
; - java.util.stream.AbstractPipeline::wrapAndCopyInto@9 (line 499)
; - java.util.stream.ReduceOps$ReduceOp::evaluateSequential@6 (line 921)
; - java.util.stream.AbstractPipeline::evaluate@88 (line 234)
0,00% 0x0000000116487cb0: 2bf0 7dd3
0,16% 0x0000000116487cb4: ; implicit exception: dispatches to 0x00000001164887e8
;*synchronization entry
; - java.util.stream.ReduceOps$8ReducingSink::get@-1 (line 480)
; - java.util.stream.ReduceOps$8ReducingSink::get@1 (line 464)
; - java.util.stream.ReduceOps$ReduceOp::evaluateSequential@12 (line 921)
; - java.util.stream.AbstractPipeline::evaluate@88 (line 234)
0,16% 0x0000000116487cb4: 610d 40b9
0,03% 0x0000000116487cb8: ;*ifnonnull {reexecute=0 rethrow=0 return_oop=0}
; - java.util.Objects::requireNonNull@1 (line 232)
; - java.util.stream.Sink$ChainedReference::&lt;init&gt;@6 (line 248)
; - java.util.stream.ReferencePipeline$3$1::&lt;init&gt;@7 (line 194)
; - java.util.stream.ReferencePipeline$3::opWrapSink@6 (line 194)
; - java.util.stream.AbstractPipeline::wrapSink@23 (line 547)
; - java.util.stream.AbstractPipeline::wrapAndCopyInto@9 (line 499)
; - java.util.stream.ReduceOps$ReduceOp::evaluateSequential@6 (line 921)
; - java.util.stream.AbstractPipeline::evaluate@88 (line 234)
0,03% 0x0000000116487cb8: ab41 c039
0,00% 0x0000000116487cbc: ;*synchronization entry
; - java.util.stream.ReduceOps$8ReducingSink::get@-1 (line 480)
; - java.util.stream.ReduceOps$8ReducingSink::get@1 (line 464)
; - java.util.stream.ReduceOps$ReduceOp::evaluateSequential@12 (line 921)
; - java.util.stream.AbstractPipeline::evaluate@88 (line 234)
0,00% 0x0000000116487cbc: 2d28 cb1a
0,00% 0x0000000116487cc0: ;*invokespecial &lt;init&gt; {reexecute=0 rethrow=0 return_oop=0}
; - java.util.stream.ReduceOps$10::makeSink@12 (line 491)
; - java.util.stream.ReduceOps$10::makeSink@1 (line 488)
; - java.util.stream.ReduceOps$ReduceOp::evaluateSequential@2 (line 921)
; - java.util.stream.AbstractPipeline::evaluate@88 (line 234)
0,00% 0x0000000116487cc0: d6c2 2d8b
0,00% 0x0000000116487cc4: ;*synchronization entry
; - java.util.stream.ReduceOps$3::getOpFlags@-1 (line 185)
; - java.util.stream.AbstractPipeline::evaluate@80 (line 234)
0,00% 0x0000000116487cc4: 8c09 0011
26,98% 0x0000000116487cc8: ;*getfield sourceStage {reexecute=0 rethrow=0 return_oop=0}
; - java.util.stream.AbstractPipeline::sourceSpliterator@3 (line 400)
; - java.util.stream.AbstractPipeline::evaluate@85 (line 234)
26,98% 0x0000000116487cc8: b60a 00f9 | 9f01 066b
1,30% 0x0000000116487cd0: ;*new {reexecute=0 rethrow=0 return_oop=0}
; - java.util.stream.ReduceOps$10::makeSink@0 (line 491)
; - java.util.stream.ReduceOps$10::makeSink@1 (line 488)
; - java.util.stream.ReduceOps$ReduceOp::evaluateSequential@2 (line 921)
; - java.util.stream.AbstractPipeline::evaluate@88 (line 234)
1,30% 0x0000000116487cd0: 8bfc ff54
0,18% 0x0000000116487cd4: ; ImmutableOopMap {r10=Oop r14=Oop c_rarg2=Oop c_rarg5=Oop r19=Oop resp=Oop rdispatch=Oop rfp=Oop }
;*goto {reexecute=1 rethrow=0 return_oop=0}
; - (reexecute) java.util.ArrayList$ArrayListSpliterator::forEachRemaining@103 (line 1623)
; - java.util.stream.AbstractPipeline::copyInto@32 (line 509)
; - java.util.stream.AbstractPipeline::wrapAndCopyInto@13 (line 499)
; - java.util.stream.ReduceOps$ReduceOp::evaluateSequential@6 (line 921)
; - java.util.stream.AbstractPipeline::evaluate@88 (line 234)
0,18% 0x0000000116487cd4: 8bc3 41f9
0,03% 0x0000000116487cd8: ; {poll}
0,03% 0x0000000116487cd8: 7f01 40b9 | 9f01 106b | 4bfb ff54 | 9f01 006b | 6a02 0054
0x0000000116487cec: ; {metadata(&apos;java/lang/String&apos;)}
0x0000000116487cec: 0b00 a0d2 | 0b66 9df2
0x0000000116487cf4: ;*synchronization entry
; - java.util.stream.ReduceOps$8ReducingSink::get@-1 (line 480)
; - java.util.stream.ReduceOps$8ReducingSink::get@1 (line 464)
; - java.util.stream.ReduceOps$ReduceOp::evaluateSequential@12 (line 921)
; - java.util.stream.AbstractPipeline::evaluate@88 (line 234)
0x0000000116487cf4: adc8 2c8b | af11 40b9
0x0000000116487cfc: ;*invokeinterface get {reexecute=0 rethrow=0 return_oop=0}
; - java.util.stream.ReduceOps$3ReducingSink::begin@5 (line 164)
; - java.util.stream.Sink$ChainedReference::begin@5 (line 253)
; - java.util.stream.AbstractPipeline::copyInto@25 (line 508)
; - java.util.stream.AbstractPipeline::wrapAndCopyInto@13 (line 499)
; - java.util.stream.ReduceOps$ReduceOp::evaluateSequential@6 (line 921)
; - java.util.stream.AbstractPipeline::evaluate@88 (line 234)
0x0000000116487cfc: edf1 7dd3
0,00% 0x0000000116487d00: ; implicit exception: dispatches to 0x0000000116488860
0,00% 0x0000000116487d00: af09 40b9 | ff01 0b6b | e153 0054 | af15 40b9 | eff1 7dd3
0x0000000116487d14: ; implicit exception: dispatches to 0x00000001164887e8
;*synchronization entry
; - java.util.stream.ReduceOps$8ReducingSink::get@-1 (line 480)
; - java.util.stream.ReduceOps$8ReducingSink::get@1 (line 464)
; - java.util.stream.ReduceOps$ReduceOp::evaluateSequential@12 (line 921)
; - java.util.stream.AbstractPipeline::evaluate@88 (line 234)
0x0000000116487d14: f00d 40b9
0x0000000116487d18: ;*invokeinterface get {reexecute=0 rethrow=0 return_oop=0}
; - java.util.stream.ReduceOps$3ReducingSink::begin@5 (line 164)
....................................................................................................
99,51% <total for region 1>
....[Hottest Regions]...............................................................................
99,51% c2, level 4 java.util.stream.AbstractPipeline::evaluate, version 4, compile id 682
0,04% c2, level 4 com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_stream_jmhTest::stream_avgt_jmhStub, version 5, compile id 685
0,04% c2, level 4 com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_stream_jmhTest::stream_avgt_jmhStub, version 5, compile id 685
0,04% c2, level 4 com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_stream_jmhTest::stream_avgt_jmhStub, version 5, compile id 685
0,03% c2, level 4 com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_stream_jmhTest::stream_avgt_jmhStub, version 5, compile id 685
0,02% c2, level 4 java.util.stream.AbstractPipeline::evaluate, version 4, compile id 682
0,02% c2, level 4 com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_stream_jmhTest::stream_avgt_jmhStub, version 5, compile id 685
0,02% c2, level 4 com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_stream_jmhTest::stream_avgt_jmhStub, version 5, compile id 685
0,02% c2, level 4 com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_stream_jmhTest::stream_avgt_jmhStub, version 5, compile id 685
0,02% c2, level 4 java.util.stream.AbstractPipeline::evaluate, version 4, compile id 682
0,01% c2, level 4 java.util.stream.AbstractPipeline::evaluate, version 4, compile id 682
0,01% c2, level 4 java.util.stream.AbstractPipeline::evaluate, version 4, compile id 682
0,01% c2, level 4 java.util.stream.AbstractPipeline::evaluate, version 4, compile id 682
0,01% c2, level 4 com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_stream_jmhTest::stream_avgt_jmhStub, version 5, compile id 685
0,01% c2, level 4 java.util.stream.AbstractPipeline::evaluate, version 4, compile id 682
0,01% c2, level 4 java.util.stream.AbstractPipeline::evaluate, version 4, compile id 682
0,01% c2, level 4 java.util.stream.AbstractPipeline::evaluate, version 4, compile id 682
0,01% c2, level 4 java.util.stream.AbstractPipeline::evaluate, version 4, compile id 682
0,01% c2, level 4 java.util.stream.AbstractPipeline::evaluate, version 4, compile id 682
0,01% c2, level 4 com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_stream_jmhTest::stream_avgt_jmhStub, version 5, compile id 685
0,14% <...other 57 warm regions...>
....................................................................................................
100,00% <totals>
....[Hottest Methods (after inlining)]..............................................................
99,66% c2, level 4 java.util.stream.AbstractPipeline::evaluate, version 4, compile id 682
0,23% c2, level 4 com.github.shautvast.benchmarks.loops.jmh_generated.LoopBenchmark_stream_jmhTest::stream_avgt_jmhStub, version 5, compile id 685
0,01% libsystem_kernel.dylib thread_self_trap
0,00% libjvm.dylib fileStream::write(char const*, unsigned long)
0,00% libsystem_kernel.dylib _kernelrpc_mach_port_deallocate_trap
0,00% dyld dyld3::MachOLoaded::findClosestSymbol(unsigned long long, char const**, unsigned long long*) const
0,00% libsystem_kernel.dylib mach_absolute_time
0,00% libsystem_kernel.dylib write
0,00% libsystem_platform.dylib _platform_memmove
0,00% libjvm.dylib CardTableBarrierSet::on_slowpath_allocation_exit(JavaThread*, oopDesc*)
0,00% libsystem_platform.dylib __bzero
0,00% libjvm.dylib JfrObjectAllocationSample::send_event(Klass const*, unsigned long, bool, Thread*)
0,00% interpreter fstore 56 fstore
0,00% libjvm.dylib LIR_Assembler::process_debug_info(LIR_Op*)
0,00% libjvm.dylib MultiNode::hash() const
0,00% libjvm.dylib CodeCache::free(CodeBlob*)
0,00% libjvm.dylib MutatorAllocRegion::retire(bool)
0,00% libjvm.dylib ObjAllocator::initialize(HeapWordImpl**) const
0,00% libjvm.dylib MemNode::can_see_stored_value(Node*, PhaseTransform*) const
0,00% libjvm.dylib OptoRuntime::new_instance_C(Klass*, JavaThread*)
0,06% <...other 29 warm methods...>
....................................................................................................
100,00% <totals>
....[Distribution by Source]........................................................................
99,89% c2, level 4
0,06% libjvm.dylib
0,02% libsystem_kernel.dylib
0,01% libsystem_platform.dylib
0,01% interpreter
0,01% libsystem_c.dylib
0,00% libsystem_pthread.dylib
0,00% dyld
0,00% c1, level 3
0,00% libzip.dylib
....................................................................................................
100,00% <totals>
# Run complete. Total time: 00:06:48
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 1888,196 ± 10,184 ns/op
LoopBenchmark.cStyle:·asm avgt NaN ---
LoopBenchmark.enhancedForLoop avgt 5 14380,484 ± 11060,940 ns/op
LoopBenchmark.enhancedForLoop:·asm avgt NaN ---
LoopBenchmark.iterator avgt 5 14399,423 ± 11115,231 ns/op
LoopBenchmark.iterator:·asm avgt NaN ---
LoopBenchmark.stream avgt 5 9680,119 ± 6838,907 ns/op
LoopBenchmark.stream:·asm avgt NaN ---
MultiDim on  main [!] via ☕ v20.0.1 took 6m48s