Skip to content

Instantly share code, notes, and snippets.

@vladmlch
Forked from lrytz/0-overview.md
Created May 5, 2019 18:33
Show Gist options
  • Select an option

  • Save vladmlch/5ccca66fffa69e86d0afdefb953258cd to your computer and use it in GitHub Desktop.

Select an option

Save vladmlch/5ccca66fffa69e86d0afdefb953258cd to your computer and use it in GitHub Desktop.
-prof perfasm output for NoCHAPreventsOptimization
[info] # JMH 1.12 (released 91 days ago, please consider updating!)
[info] # VM version: JDK 1.8.0_91, VM 25.91-b14
[info] # VM invoker: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
[info] # VM options: <none>
[info] # Warmup: 10 iterations, 1 s each
[info] # Measurement: 10 iterations, 1 s each
[info] # Timeout: 10 min per iteration
[info] # Threads: 1 thread, will synchronize iterations
[info] # Benchmark mode: Average time, time/op
[info] # Benchmark: traitEncodings.NoCHAPreventsOptimization.aDefault
[info]
[info] # Run progress: 0.00% complete, ETA 00:01:00
[info] # Fork: 1 of 1
[info] # Preparing profilers: LinuxPerfAsmProfiler
[info] # Profilers consume stdout and stderr from target VM, use -v EXTRA to copy to console
[info] # Warmup Iteration 1: 1947.161 ns/op
[info] # Warmup Iteration 2: 1713.363 ns/op
[info] # Warmup Iteration 3: 1593.659 ns/op
[info] # Warmup Iteration 4: 1598.851 ns/op
[info] # Warmup Iteration 5: 1635.322 ns/op
[info] # Warmup Iteration 6: 1591.724 ns/op
[info] # Warmup Iteration 7: 1591.701 ns/op
[info] # Warmup Iteration 8: 1592.216 ns/op
[info] # Warmup Iteration 9: 1591.404 ns/op
[info] # Warmup Iteration 10: 1591.925 ns/op
[info] Iteration 1: 1655.907 ns/op
[info] Iteration 2: 1603.967 ns/op
[info] Iteration 3: 1591.867 ns/op
[info] Iteration 4: 1596.027 ns/op
[info] Iteration 5: 1592.051 ns/op
[info] Iteration 6: 1592.050 ns/op
[info] Iteration 7: 1606.451 ns/op
[info] Iteration 8: 1631.737 ns/op
[info] Iteration 9: 1617.234 ns/op
[info] Iteration 10: 1594.921 ns/op
[info] # Processing profiler results: LinuxPerfAsmProfiler
[info]
[info]
[info] Result "aDefault":
[info] 1608.221 ±(99.9%) 32.053 ns/op [Average]
[info] (min, avg, max) = (1591.867, 1608.221, 1655.907), stdev = 21.201
[info] CI (99.9%): [1576.168, 1640.274] (assumes normal distribution)
[info]
[info] Secondary result "·asm":
[info] PrintAssembly processed: 140166 total address lines.
[info] Perf output processed (skipped 10.803 seconds):
[info] Column 1: cycles (18532 events)
[info] Column 2: instructions (18351 events)
[info]
[info] Hottest code regions (>10.00% "cycles" events):
[info] ....[Hottest Region 1]..............................................................................
[info] [0x7fba5d1f6994:0x7fba5d1f6b68] in traitEncodings.generated.NoCHAPreventsOptimization_aDefault_jmhTest::aDefault_avgt_jmhStub
[info]
[info] 0x00007fba5d1f6994: movzbl 0x94(%r8),%r10d ;*getfield isDone
[info] ; - traitEncodings.generated.NoCHAPreventsOptimization_aDefault_jmhTest::aDefault_avgt_jmhStub@29 (line 163)
[info] ; implicit exception: dispatches to 0x00007fba5d1f6c05
[info] 0x00007fba5d1f699c: test %r10d,%r10d
[info] ╭ 0x00007fba5d1f699f: jne 0x00007fba5d1f6b4d ;*ifeq
[info] │ ; - traitEncodings.generated.NoCHAPreventsOptimization_aDefault_jmhTest::aDefault_avgt_jmhStub@32 (line 163)
[info] │ 0x00007fba5d1f69a5: mov $0x1,%ebx
[info] │╭ 0x00007fba5d1f69aa: jmp 0x00007fba5d1f69f1 ;*aload_0
[info] ││ ; - traitEncodings.NoCHAPreventsOptimization::aDefault@11 (line 49)
[info] ││ ; - traitEncodings.generated.NoCHAPreventsOptimization_aDefault_jmhTest::aDefault_avgt_jmhStub@16 (line 161)
[info] 0.13% 0.06% ││↗ ↗ 0x00007fba5d1f69ac: mov %edi,0x10(%rax) ;*putfield v
[info] │││ │ ; - traitEncodings.NoCHAPreventsOptimization::aDefault@16 (line 49)
[info] │││ │ ; - traitEncodings.generated.NoCHAPreventsOptimization_aDefault_jmhTest::aDefault_avgt_jmhStub@16 (line 161)
[info] 0.18% 0.12% │││ │ 0x00007fba5d1f69af: add 0x10(%r13),%edx ;*iadd
[info] │││ │ ; - traitEncodings.NoCHAPreventsOptimization::aDefault@27 (line 50)
[info] │││ │ ; - traitEncodings.generated.NoCHAPreventsOptimization_aDefault_jmhTest::aDefault_avgt_jmhStub@16 (line 161)
[info] 0.30% 0.20% │││ │ 0x00007fba5d1f69b3: inc %edi ;*iinc
[info] │││ │ ; - traitEncodings.NoCHAPreventsOptimization::aDefault@29 (line 48)
[info] │││ │ ; - traitEncodings.generated.NoCHAPreventsOptimization_aDefault_jmhTest::aDefault_avgt_jmhStub@16 (line 161)
[info] 0.21% 0.15% │││ │ 0x00007fba5d1f69b5: cmp $0x3e8,%edi
[info] 0.10% 0.12% ││╰ │ 0x00007fba5d1f69bb: jl 0x00007fba5d1f69ac ;*invokevirtual aDefault
[info] ││ │ ; - traitEncodings.generated.NoCHAPreventsOptimization_aDefault_jmhTest::aDefault_avgt_jmhStub@16 (line 161)
[info] 0.03% 0.02% ││ │↗ 0x00007fba5d1f69bd: mov 0x10(%rsp),%rsi
[info] 0.01% ││ ││ 0x00007fba5d1f69c2: nop
[info] 0.02% 0.04% ││ ││ 0x00007fba5d1f69c3: callq 0x00007fba5d045d60 ; OopMap{[0]=Oop [8]=Oop [16]=Oop [24]=Oop off=520}
[info] ││ ││ ;*invokevirtual consume
[info] ││ ││ ; - traitEncodings.generated.NoCHAPreventsOptimization_aDefault_jmhTest::aDefault_avgt_jmhStub@19 (line 161)
[info] ││ ││ ; {optimized virtual_call}
[info] 0.10% 0.16% ││ ││ 0x00007fba5d1f69c8: mov (%rsp),%r8
[info] ││ ││ 0x00007fba5d1f69cc: movzbl 0x94(%r8),%r11d ;*getfield isDone
[info] ││ ││ ; - traitEncodings.generated.NoCHAPreventsOptimization_aDefault_jmhTest::aDefault_avgt_jmhStub@29 (line 163)
[info] 0.03% 0.04% ││ ││ 0x00007fba5d1f69d4: mov 0x20(%rsp),%rbx
[info] 0.02% 0.02% ││ ││ 0x00007fba5d1f69d9: add $0x1,%rbx ; OopMap{r8=Oop [8]=Oop [16]=Oop [24]=Oop off=541}
[info] ││ ││ ;*ifeq
[info] ││ ││ ; - traitEncodings.generated.NoCHAPreventsOptimization_aDefault_jmhTest::aDefault_avgt_jmhStub@32 (line 163)
[info] 0.02% 0.09% ││ ││ 0x00007fba5d1f69dd: test %eax,0x18af161d(%rip) # 0x00007fba75ce8000
[info] ││ ││ ; {poll}
[info] ││ ││ 0x00007fba5d1f69e3: test %r11d,%r11d
[info] 0.05% 0.05% ││ ╭ ││ 0x00007fba5d1f69e6: jne 0x00007fba5d1f6b52 ;*ifeq
[info] ││ │ ││ ; - traitEncodings.generated.NoCHAPreventsOptimization_aDefault_jmhTest::aDefault_avgt_jmhStub@32 (line 163)
[info] ││ │ ││ 0x00007fba5d1f69ec: mov 0x10(%rsp),%rbp ;*aload
[info] ││ │ ││ ; - traitEncodings.generated.NoCHAPreventsOptimization_aDefault_jmhTest::aDefault_avgt_jmhStub@13 (line 161)
[info] 0.03% 0.05% │↘ │ ││ 0x00007fba5d1f69f1: mov 0x18(%rsp),%r10
[info] │ │ ││ 0x00007fba5d1f69f6: mov 0x10(%r10),%eax ;*getfield c1
[info] │ │ ││ ; - traitEncodings.NoCHAPreventsOptimization::aDefault@12 (line 49)
[info] │ │ ││ ; - traitEncodings.generated.NoCHAPreventsOptimization_aDefault_jmhTest::aDefault_avgt_jmhStub@16 (line 161)
[info] 0.05% 0.05% │ │ ││ 0x00007fba5d1f69fa: mov %r12d,0x10(%rax) ;*putfield v
[info] │ │ ││ ; - traitEncodings.NoCHAPreventsOptimization::aDefault@16 (line 49)
[info] │ │ ││ ; - traitEncodings.generated.NoCHAPreventsOptimization_aDefault_jmhTest::aDefault_avgt_jmhStub@16 (line 161)
[info] │ │ ││ ; implicit exception: dispatches to 0x00007fba5d1f6ba5
[info] 0.07% 0.03% │ │ ││ 0x00007fba5d1f69fe: mov %rax,%r13 ;*invokevirtual accessDefault
[info] │ │ ││ ; - traitEncodings.NoCHAPreventsOptimization::aDefault@24 (line 50)
[info] │ │ ││ ; - traitEncodings.generated.NoCHAPreventsOptimization_aDefault_jmhTest::aDefault_avgt_jmhStub@16 (line 161)
[info] 0.03% 0.04% │ │ ││ 0x00007fba5d1f6a01: mov 0x10(%r13),%edx ;*getfield v
[info] │ │ ││ ; - traitEncodings.NoCHAPreventsOptimization$C::getV@1 (line 37)
[info] │ │ ││ ; - traitEncodings.NoCHAPreventsOptimization$I::accessDefault@1 (line 27)
[info] │ │ ││ ; - traitEncodings.NoCHAPreventsOptimization::aDefault@24 (line 50)
[info] │ │ ││ ; - traitEncodings.generated.NoCHAPreventsOptimization_aDefault_jmhTest::aDefault_avgt_jmhStub@16 (line 161)
[info] │ │ ││ 0x00007fba5d1f6a05: mov $0x1,%edi
[info] 0.04% 0.01% │ │ ││ 0x00007fba5d1f6a0a: mov %r8,(%rsp)
[info] │ │ ││ 0x00007fba5d1f6a0e: mov %rbp,0x10(%rsp)
[info] 0.04% 0.02% │ │ ││ 0x00007fba5d1f6a13: mov %rbx,0x20(%rsp)
[info] 0.01% 0.05% │ │ ││ 0x00007fba5d1f6a18: nopl 0x0(%rax,%rax,1) ;*aload_0
[info] │ │ ││ ; - traitEncodings.NoCHAPreventsOptimization::aDefault@11 (line 49)
[info] │ │ ││ ; - traitEncodings.generated.NoCHAPreventsOptimization_aDefault_jmhTest::aDefault_avgt_jmhStub@16 (line 161)
[info] 0.73% 0.03% │ │↗││ 0x00007fba5d1f6a20: mov %edi,0x10(%rax)
[info] 0.90% │ ││││ 0x00007fba5d1f6a23: add 0x10(%r13),%edx
[info] 5.15% 1.00% │ ││││ 0x00007fba5d1f6a27: mov %edi,%r11d
[info] 0.83% 0.43% │ ││││ 0x00007fba5d1f6a2a: inc %r11d
[info] 1.05% 0.64% │ ││││ 0x00007fba5d1f6a2d: mov %r11d,0x10(%rax)
[info] 0.79% 0.37% │ ││││ 0x00007fba5d1f6a31: add 0x10(%r13),%edx
[info] 0.83% 0.77% │ ││││ 0x00007fba5d1f6a35: mov %edi,%r10d
[info] 0.88% 0.72% │ ││││ 0x00007fba5d1f6a38: add $0xf,%r10d
[info] 0.84% 0.31% │ ││││ 0x00007fba5d1f6a3c: movd %r10d,%xmm0
[info] 0.87% 1.28% │ ││││ 0x00007fba5d1f6a41: mov %edi,%r10d
[info] 0.93% 0.57% │ ││││ 0x00007fba5d1f6a44: add $0xe,%r10d
[info] 0.81% 0.98% │ ││││ 0x00007fba5d1f6a48: movd %r10d,%xmm2
[info] 0.81% 1.10% │ ││││ 0x00007fba5d1f6a4d: mov %edi,%r10d
[info] 0.85% 0.62% │ ││││ 0x00007fba5d1f6a50: add $0xd,%r10d
[info] 0.86% 1.18% │ ││││ 0x00007fba5d1f6a54: movd %r10d,%xmm1
[info] 0.76% 0.50% │ ││││ 0x00007fba5d1f6a59: mov %edi,%r10d
[info] 0.83% 0.40% │ ││││ 0x00007fba5d1f6a5c: add $0xc,%r10d
[info] 0.81% 0.62% │ ││││ 0x00007fba5d1f6a60: movd %r10d,%xmm4
[info] 0.68% 0.32% │ ││││ 0x00007fba5d1f6a65: mov %edi,%r10d
[info] 0.77% 0.56% │ ││││ 0x00007fba5d1f6a68: add $0xb,%r10d
[info] 0.79% 0.51% │ ││││ 0x00007fba5d1f6a6c: movd %r10d,%xmm3
[info] 0.91% 0.41% │ ││││ 0x00007fba5d1f6a71: mov %edi,%ebp
[info] 0.75% 0.65% │ ││││ 0x00007fba5d1f6a73: add $0xa,%ebp
[info] 0.80% 0.63% │ ││││ 0x00007fba5d1f6a76: mov %edi,%r10d
[info] 0.87% 1.27% │ ││││ 0x00007fba5d1f6a79: add $0x9,%r10d
[info] 0.84% 1.05% │ ││││ 0x00007fba5d1f6a7d: mov %edi,%r11d
[info] 0.94% 1.22% │ ││││ 0x00007fba5d1f6a80: add $0x8,%r11d
[info] 0.74% 1.36% │ ││││ 0x00007fba5d1f6a84: mov %edi,%r9d
[info] 0.88% 1.25% │ ││││ 0x00007fba5d1f6a87: add $0x7,%r9d
[info] 0.96% 1.12% │ ││││ 0x00007fba5d1f6a8b: mov %edi,%r8d
[info] 0.78% 1.33% │ ││││ 0x00007fba5d1f6a8e: add $0x6,%r8d
[info] 0.81% 1.30% │ ││││ 0x00007fba5d1f6a92: mov %edi,%ebx
[info] 0.89% 1.27% │ ││││ 0x00007fba5d1f6a94: add $0x5,%ebx
[info] 0.80% 1.24% │ ││││ 0x00007fba5d1f6a97: mov %edi,%ecx
[info] 0.94% 1.15% │ ││││ 0x00007fba5d1f6a99: add $0x4,%ecx
[info] 0.88% 1.17% │ ││││ 0x00007fba5d1f6a9c: mov %edi,%esi
[info] 0.80% 1.16% │ ││││ 0x00007fba5d1f6a9e: add $0x3,%esi
[info] 0.88% 1.21% │ ││││ 0x00007fba5d1f6aa1: mov %edi,%r14d
[info] 0.81% 1.19% │ ││││ 0x00007fba5d1f6aa4: add $0x2,%r14d
[info] 0.72% 1.22% │ ││││ 0x00007fba5d1f6aa8: mov %r14d,0x10(%rax)
[info] 1.01% 1.26% │ ││││ 0x00007fba5d1f6aac: add 0x10(%r13),%edx
[info] 0.91% 1.28% │ ││││ 0x00007fba5d1f6ab0: mov %esi,0x10(%rax)
[info] 1.21% 1.89% │ ││││ 0x00007fba5d1f6ab3: add 0x10(%r13),%edx
[info] 0.74% 1.37% │ ││││ 0x00007fba5d1f6ab7: mov %ecx,0x10(%rax)
[info] 1.41% 1.72% │ ││││ 0x00007fba5d1f6aba: add 0x10(%r13),%edx
[info] 0.87% 1.28% │ ││││ 0x00007fba5d1f6abe: mov %ebx,0x10(%rax)
[info] 1.29% 1.62% │ ││││ 0x00007fba5d1f6ac1: add 0x10(%r13),%edx
[info] 0.89% 1.24% │ ││││ 0x00007fba5d1f6ac5: mov %r8d,0x10(%rax)
[info] 1.24% 1.82% │ ││││ 0x00007fba5d1f6ac9: add 0x10(%r13),%edx
[info] 1.18% 2.04% │ ││││ 0x00007fba5d1f6acd: mov %r9d,0x10(%rax)
[info] 1.58% 2.44% │ ││││ 0x00007fba5d1f6ad1: add 0x10(%r13),%edx
[info] 1.59% 2.24% │ ││││ 0x00007fba5d1f6ad5: mov %r11d,0x10(%rax)
[info] 1.63% 2.23% │ ││││ 0x00007fba5d1f6ad9: add 0x10(%r13),%edx
[info] 1.65% 2.11% │ ││││ 0x00007fba5d1f6add: mov %r10d,0x10(%rax)
[info] 1.73% 2.40% │ ││││ 0x00007fba5d1f6ae1: add 0x10(%r13),%edx
[info] 2.48% 2.68% │ ││││ 0x00007fba5d1f6ae5: mov %ebp,0x10(%rax)
[info] 1.35% 1.92% │ ││││ 0x00007fba5d1f6ae8: add 0x10(%r13),%edx
[info] 1.65% 2.14% │ ││││ 0x00007fba5d1f6aec: movd %xmm3,%r10d
[info] 0.88% 1.29% │ ││││ 0x00007fba5d1f6af1: mov %r10d,0x10(%rax)
[info] 0.80% 0.90% │ ││││ 0x00007fba5d1f6af5: add 0x10(%r13),%edx
[info] 3.15% 2.86% │ ││││ 0x00007fba5d1f6af9: movd %xmm4,%r10d
[info] 0.91% 0.58% │ ││││ 0x00007fba5d1f6afe: mov %r10d,0x10(%rax)
[info] 0.87% 0.85% │ ││││ 0x00007fba5d1f6b02: add 0x10(%r13),%edx
[info] 1.80% 0.85% │ ││││ 0x00007fba5d1f6b06: movd %xmm1,%r10d
[info] 0.84% 0.63% │ ││││ 0x00007fba5d1f6b0b: mov %r10d,0x10(%rax)
[info] 0.77% 0.41% │ ││││ 0x00007fba5d1f6b0f: add 0x10(%r13),%edx
[info] 9.83% 7.34% │ ││││ 0x00007fba5d1f6b13: movd %xmm2,%r10d
[info] 0.87% 0.39% │ ││││ 0x00007fba5d1f6b18: mov %r10d,0x10(%rax)
[info] 0.84% 1.12% │ ││││ 0x00007fba5d1f6b1c: add 0x10(%r13),%edx
[info] 1.74% 1.91% │ ││││ 0x00007fba5d1f6b20: movd %xmm0,%r10d
[info] 0.87% 0.69% │ ││││ 0x00007fba5d1f6b25: mov %r10d,0x10(%rax) ;*putfield v
[info] │ ││││ ; - traitEncodings.NoCHAPreventsOptimization::aDefault@16 (line 49)
[info] │ ││││ ; - traitEncodings.generated.NoCHAPreventsOptimization_aDefault_jmhTest::aDefault_avgt_jmhStub@16 (line 161)
[info] 0.80% 1.26% │ ││││ 0x00007fba5d1f6b29: add 0x10(%r13),%edx ;*iadd
[info] │ ││││ ; - traitEncodings.NoCHAPreventsOptimization::aDefault@27 (line 50)
[info] │ ││││ ; - traitEncodings.generated.NoCHAPreventsOptimization_aDefault_jmhTest::aDefault_avgt_jmhStub@16 (line 161)
[info] 1.58% 1.70% │ ││││ 0x00007fba5d1f6b2d: add $0x10,%edi ;*iinc
[info] │ ││││ ; - traitEncodings.NoCHAPreventsOptimization::aDefault@29 (line 48)
[info] │ ││││ ; - traitEncodings.generated.NoCHAPreventsOptimization_aDefault_jmhTest::aDefault_avgt_jmhStub@16 (line 161)
[info] 0.89% 0.62% │ ││││ 0x00007fba5d1f6b30: cmp $0x3d9,%edi
[info] 0.77% 1.05% │ │╰││ 0x00007fba5d1f6b36: jl 0x00007fba5d1f6a20 ;*if_icmpge
[info] │ │ ││ ; - traitEncodings.NoCHAPreventsOptimization::aDefault@8 (line 48)
[info] │ │ ││ ; - traitEncodings.generated.NoCHAPreventsOptimization_aDefault_jmhTest::aDefault_avgt_jmhStub@16 (line 161)
[info] 0.03% │ │ ││ 0x00007fba5d1f6b3c: cmp $0x3e8,%edi
[info] 0.21% 0.06% │ │ ╰│ 0x00007fba5d1f6b42: jl 0x00007fba5d1f69ac
[info] │ │ ╰ 0x00007fba5d1f6b48: jmpq 0x00007fba5d1f69bd
[info] ↘ │ 0x00007fba5d1f6b4d: mov $0x1,%ebx ;*aload_2
[info] │ ; - traitEncodings.generated.NoCHAPreventsOptimization_aDefault_jmhTest::aDefault_avgt_jmhStub@35 (line 164)
[info] ↘ 0x00007fba5d1f6b52: mov $0x7fba748253a0,%r10
[info] 0x00007fba5d1f6b5c: callq *%r10 ;*invokestatic nanoTime
[info] ; - traitEncodings.generated.NoCHAPreventsOptimization_aDefault_jmhTest::aDefault_avgt_jmhStub@36 (line 164)
[info] 0x00007fba5d1f6b5f: mov 0x8(%rsp),%r10
[info] 0x00007fba5d1f6b64: mov %rbx,0x18(%r10) ;*putfield measuredOps
[info] ; - traitEncodings.generated.NoCHAPreventsOptimization_aDefault_jmhTest::aDefault_avgt_jmhStub@51 (line 166)
[info] 0x00007fba5d1f6b68: mov %rax,0x30(%r10) ;*putfield stopTime
[info] ....................................................................................................
[info] 92.12% 93.60% <total for region 1>
[info]
[info] ....[Hottest Regions]...............................................................................
[info] 92.12% 93.60% [0x7fba5d1f6994:0x7fba5d1f6b68] in traitEncodings.generated.NoCHAPreventsOptimization_aDefault_jmhTest::aDefault_avgt_jmhStub
[info] 0.26% 0.18% [0x7fba5d1ec4e0:0x7fba5d1ec54b] in org.openjdk.jmh.infra.Blackhole::consume
[info] 0.15% 0.27% [0x7fba74830f70:0x7fba7483100c] in [unknown] (libjvm.so)
[info] 0.13% 0.05% [0xffffffff815c8350:0xffffffff815c83ce] in entry_SYSCALL_64_after_swapgs; entry_SYSCALL_64; system_call_fast_compare_end; system_call_fast_compare ([kernel.kallsyms])
[info] 0.11% 0.10% [0x7fba74f3f9c0:0x7fba74f3fa68] in _IO_fwrite (libc-2.19.so)
[info] 0.10% 0.08% [0x7fba74f56c10:0x7fba74f56c9e] in strlen (libc-2.19.so)
[info] 0.09% 0.09% [0x7fba74f54fa0:0x7fba74f54fe6] in [unknown] (libc-2.19.so)
[info] 0.09% 0.03% [0xffffffff8120c210:0xffffffff8120c287] in file_update_time ([kernel.kallsyms])
[info] 0.08% 0.05% [0xffffffff8105e310:0xffffffff8105e318] in native_write_msr_safe ([kernel.kallsyms])
[info] 0.08% 0.04% [0xffffffff815c82a5:0xffffffff815c82ca] in _raw_spin_lock_irqsave ([kernel.kallsyms])
[info] 0.08% 0.02% [0xffffffff8131ef70:0xffffffff8131ef7c] in copy_user_enhanced_fast_string ([kernel.kallsyms])
[info] 0.08% 0.03% [0x7fba748352e0:0x7fba74835342] in [unknown] (libjvm.so)
[info] 0.07% 0.16% [0x7fba74831feb:0x7fba7483202c] in [unknown] (libjvm.so)
[info] 0.07% 0.20% [0x7fba748b5010:0x7fba748b505c] in [unknown] (libjvm.so)
[info] 0.07% 0.13% [0x7fba74f4b1f0:0x7fba74f4b262] in _IO_default_xsputn (libc-2.19.so)
[info] 0.07% 0.08% [0x7fba758baed0:0x7fba758baf0c] in pthread_getspecific (libpthread-2.19.so)
[info] 0.06% 0.07% [0xffffffff811f2fa0:0xffffffff811f3011] in sys_write ([kernel.kallsyms])
[info] 0.06% 0.03% [0xffffffff815c6580:0xffffffff815c6591] in mutex_lock ([kernel.kallsyms])
[info] 0.06% 0.03% [0x7fba749f69e8:0x7fba749f6a22] in [unknown] (libjvm.so)
[info] 0.06% 0.08% [0x7fba74f1b4fa:0x7fba74f1b5a2] in vfprintf (libc-2.19.so)
[info] 6.02% 4.68% <...other 805 warm regions...>
[info] ....................................................................................................
[info] 99.90% 99.99% <totals>
[info]
[info] ....[Hottest Methods (after inlining)]..............................................................
[info] 92.12% 93.60% traitEncodings.generated.NoCHAPreventsOptimization_aDefault_jmhTest::aDefault_avgt_jmhStub
[info] 1.68% 1.96% [unknown] (libjvm.so)
[info] 0.35% 0.31% [unknown] (libc-2.19.so)
[info] 0.34% 0.28% vfprintf (libc-2.19.so)
[info] 0.26% 0.18% org.openjdk.jmh.infra.Blackhole::consume
[info] 0.21% 0.10% print_insn (hsdis-amd64.so)
[info] 0.15% 0.10% pipe_write ([kernel.kallsyms])
[info] 0.13% 0.05% file_update_time ([kernel.kallsyms])
[info] 0.13% 0.15% _IO_fwrite (libc-2.19.so)
[info] 0.13% 0.05% entry_SYSCALL_64_after_swapgs; entry_SYSCALL_64; system_call_fast_compare_end; system_call_fast_compare ([kernel.kallsyms])
[info] 0.10% 0.07% ext4_mark_iloc_dirty ([ext4])
[info] 0.10% 0.08% strlen (libc-2.19.so)
[info] 0.09% 0.15% vfs_write ([kernel.kallsyms])
[info] 0.09% 0.03% enqueue_entity ([kernel.kallsyms])
[info] 0.08% 0.04% _raw_spin_lock_irqsave ([kernel.kallsyms])
[info] 0.08% 0.05% native_write_msr_safe ([kernel.kallsyms])
[info] 0.08% 0.18% copy_page_from_iter ([kernel.kallsyms])
[info] 0.08% 0.16% _IO_default_xsputn (libc-2.19.so)
[info] 0.08% 0.02% copy_user_enhanced_fast_string ([kernel.kallsyms])
[info] 0.07% 0.08% pthread_getspecific (libpthread-2.19.so)
[info] 3.56% 2.07% <...other 214 warm methods...>
[info] ....................................................................................................
[info] 99.90% 99.71% <totals>
[info]
[info] ....[Distribution by Area]..........................................................................
[info] 92.52% 93.79% <generated code>
[info] 3.17% 2.29% <native code in ([kernel.kallsyms])>
[info] 1.72% 2.01% <native code in (libjvm.so)>
[info] 1.35% 1.26% <native code in (libc-2.19.so)>
[info] 0.43% 0.21% <native code in (hsdis-amd64.so)>
[info] 0.41% 0.24% <native code in ([ext4])>
[info] 0.15% 0.08% <native code in ([jbd2])>
[info] 0.13% 0.10% <native code in (libpthread-2.19.so)>
[info] 0.01% <native code in ([scsi_mod])>
[info] 0.01% <native code in (libz.so.1.2.8)>
[info] 0.01% <native code in ([libahci])>
[info] ....................................................................................................
[info] 99.90% 99.99% <totals>
[info]
[info]
[info]
[info] # JMH 1.12 (released 91 days ago, please consider updating!)
[info] # VM version: JDK 1.8.0_91, VM 25.91-b14
[info] # VM invoker: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
[info] # VM options: <none>
[info] # Warmup: 10 iterations, 1 s each
[info] # Measurement: 10 iterations, 1 s each
[info] # Timeout: 10 min per iteration
[info] # Threads: 1 thread, will synchronize iterations
[info] # Benchmark mode: Average time, time/op
[info] # Benchmark: traitEncodings.NoCHAPreventsOptimization.bVirtual
[info]
[info] # Run progress: 33.33% complete, ETA 00:01:10
[info] # Fork: 1 of 1
[info] # Preparing profilers: LinuxPerfAsmProfiler
[info] # Profilers consume stdout and stderr from target VM, use -v EXTRA to copy to console
[info] # Warmup Iteration 1: 666.317 ns/op
[info] # Warmup Iteration 2: 593.156 ns/op
[info] # Warmup Iteration 3: 560.786 ns/op
[info] # Warmup Iteration 4: 560.744 ns/op
[info] # Warmup Iteration 5: 547.921 ns/op
[info] # Warmup Iteration 6: 579.059 ns/op
[info] # Warmup Iteration 7: 546.166 ns/op
[info] # Warmup Iteration 8: 546.115 ns/op
[info] # Warmup Iteration 9: 545.658 ns/op
[info] # Warmup Iteration 10: 548.924 ns/op
[info] Iteration 1: 545.783 ns/op
[info] Iteration 2: 562.166 ns/op
[info] Iteration 3: 545.976 ns/op
[info] Iteration 4: 555.702 ns/op
[info] Iteration 5: 546.037 ns/op
[info] Iteration 6: 545.621 ns/op
[info] Iteration 7: 550.246 ns/op
[info] Iteration 8: 556.391 ns/op
[info] Iteration 9: 545.810 ns/op
[info] Iteration 10: 545.638 ns/op
[info] # Processing profiler results: LinuxPerfAsmProfiler
[info]
[info]
[info] Result "bVirtual":
[info] 549.937 ±(99.9%) 9.111 ns/op [Average]
[info] (min, avg, max) = (545.621, 549.937, 562.166), stdev = 6.026
[info] CI (99.9%): [540.826, 559.048] (assumes normal distribution)
[info]
[info] Secondary result "·asm":
[info] PrintAssembly processed: 153589 total address lines.
[info] Perf output processed (skipped 10.950 seconds):
[info] Column 1: cycles (19310 events)
[info] Column 2: instructions (19141 events)
[info]
[info] Hottest code regions (>10.00% "cycles" events):
[info] ....[Hottest Region 1]..............................................................................
[info] [0x7f385521f178:0x7f385521f251] in traitEncodings.generated.NoCHAPreventsOptimization_bVirtual_jmhTest::bVirtual_avgt_jmhStub
[info]
[info] ; - traitEncodings.generated.NoCHAPreventsOptimization_bVirtual_jmhTest::bVirtual_avgt_jmhStub@39 (line 164)
[info] 0x00007f385521f178: mov %r12,0x20(%r10) ;*putfield realTime
[info] ; - traitEncodings.generated.NoCHAPreventsOptimization_bVirtual_jmhTest::bVirtual_avgt_jmhStub@45 (line 165)
[info] 0x00007f385521f17c: add $0x40,%rsp
[info] 0x00007f385521f180: pop %rbp
[info] 0x00007f385521f181: test %eax,0x166d0e79(%rip) # 0x00007f386b8f0000
[info] ; {poll_return}
[info] 0x00007f385521f187: retq ;*aload_0
[info] ; - traitEncodings.NoCHAPreventsOptimization::bVirtual@11 (line 59)
[info] ; - traitEncodings.generated.NoCHAPreventsOptimization_bVirtual_jmhTest::bVirtual_avgt_jmhStub@16 (line 161)
[info] 0.37% 0.24% ↗ ↗ 0x00007f385521f188: mov %r8d,0x10(%r10) ;*putfield v
[info] │ │ ; - traitEncodings.NoCHAPreventsOptimization::bVirtual@16 (line 59)
[info] │ │ ; - traitEncodings.generated.NoCHAPreventsOptimization_bVirtual_jmhTest::bVirtual_avgt_jmhStub@16 (line 161)
[info] 0.70% 0.73% │ │ 0x00007f385521f18c: add %r8d,%edx ;*iadd
[info] │ │ ; - traitEncodings.NoCHAPreventsOptimization::bVirtual@27 (line 60)
[info] │ │ ; - traitEncodings.generated.NoCHAPreventsOptimization_bVirtual_jmhTest::bVirtual_avgt_jmhStub@16 (line 161)
[info] 0.24% 0.10% │ │ 0x00007f385521f18f: inc %r8d ;*iinc
[info] │ │ ; - traitEncodings.NoCHAPreventsOptimization::bVirtual@29 (line 58)
[info] │ │ ; - traitEncodings.generated.NoCHAPreventsOptimization_bVirtual_jmhTest::bVirtual_avgt_jmhStub@16 (line 161)
[info] 0.28% 0.19% │ │ 0x00007f385521f192: cmp $0x3e8,%r8d
[info] 0.34% 0.31% ╰ │ 0x00007f385521f199: jl 0x00007f385521f188 ;*invokevirtual bVirtual
[info] │ ; - traitEncodings.generated.NoCHAPreventsOptimization_bVirtual_jmhTest::bVirtual_avgt_jmhStub@16 (line 161)
[info] 0.07% 0.11% │↗ 0x00007f385521f19b: mov 0x18(%rsp),%rsi
[info] 0.46% 0.56% ││ 0x00007f385521f1a0: xchg %ax,%ax
[info] 0.10% 0.16% ││ 0x00007f385521f1a3: callq 0x00007f3855045d60 ; OopMap{[0]=Oop [8]=Oop [24]=Oop [40]=Oop off=360}
[info] ││ ;*invokevirtual consume
[info] ││ ; - traitEncodings.generated.NoCHAPreventsOptimization_bVirtual_jmhTest::bVirtual_avgt_jmhStub@19 (line 161)
[info] ││ ; {optimized virtual_call}
[info] 0.13% 0.05% ││ 0x00007f385521f1a8: mov (%rsp),%r10
[info] 0.07% ││ 0x00007f385521f1ac: movzbl 0x94(%r10),%r11d ;*getfield isDone
[info] ││ ; - traitEncodings.generated.NoCHAPreventsOptimization_bVirtual_jmhTest::bVirtual_avgt_jmhStub@29 (line 163)
[info] 0.23% 0.24% ││ 0x00007f385521f1b4: add $0x1,%rbp ; OopMap{[0]=Oop [8]=Oop [24]=Oop [40]=Oop off=376}
[info] ││ ;*ifeq
[info] ││ ; - traitEncodings.generated.NoCHAPreventsOptimization_bVirtual_jmhTest::bVirtual_avgt_jmhStub@32 (line 163)
[info] ││ 0x00007f385521f1b8: test %eax,0x166d0e42(%rip) # 0x00007f386b8f0000
[info] ││ ; {poll}
[info] 0.10% 0.13% ││ 0x00007f385521f1be: test %r11d,%r11d
[info] ││ 0x00007f385521f1c1: jne 0x00007f385521f15e ;*aload
[info] ││ ; - traitEncodings.generated.NoCHAPreventsOptimization_bVirtual_jmhTest::bVirtual_avgt_jmhStub@13 (line 161)
[info] 0.11% 0.11% ││ 0x00007f385521f1c3: mov 0x28(%rsp),%r10
[info] ││ 0x00007f385521f1c8: mov 0x14(%r10),%r10d ;*getfield c2
[info] ││ ; - traitEncodings.NoCHAPreventsOptimization::bVirtual@12 (line 59)
[info] ││ ; - traitEncodings.generated.NoCHAPreventsOptimization_bVirtual_jmhTest::bVirtual_avgt_jmhStub@16 (line 161)
[info] 0.26% 0.17% ││ 0x00007f385521f1cc: mov %r12d,0x10(%r10) ;*putfield v
[info] ││ ; - traitEncodings.NoCHAPreventsOptimization::bVirtual@16 (line 59)
[info] ││ ; - traitEncodings.generated.NoCHAPreventsOptimization_bVirtual_jmhTest::bVirtual_avgt_jmhStub@16 (line 161)
[info] ││ ; implicit exception: dispatches to 0x00007f385521f265
[info] 0.18% 0.26% ││ 0x00007f385521f1d0: mov $0x1,%r8d
[info] 0.08% ││ 0x00007f385521f1d6: xor %edx,%edx
[info] ││ 0x00007f385521f1d8: nopl 0x0(%rax,%rax,1) ;*aload_0
[info] ││ ; - traitEncodings.NoCHAPreventsOptimization::bVirtual@11 (line 59)
[info] ││ ; - traitEncodings.generated.NoCHAPreventsOptimization_bVirtual_jmhTest::bVirtual_avgt_jmhStub@16 (line 161)
[info] 2.72% 1.70% ↗││ 0x00007f385521f1e0: add %r8d,%edx
[info] 2.82% 1.92% │││ 0x00007f385521f1e3: add %r8d,%edx
[info] 2.54% 2.11% │││ 0x00007f385521f1e6: add %r8d,%edx
[info] 2.36% 1.84% │││ 0x00007f385521f1e9: add %r8d,%edx
[info] 2.55% 1.72% │││ 0x00007f385521f1ec: add %r8d,%edx
[info] 2.29% 1.91% │││ 0x00007f385521f1ef: add %r8d,%edx
[info] 4.89% 4.02% │││ 0x00007f385521f1f2: add %r8d,%edx
[info] 5.00% 3.89% │││ 0x00007f385521f1f5: add %r8d,%edx
[info] 5.35% 3.86% │││ 0x00007f385521f1f8: add %r8d,%edx
[info] 5.38% 4.88% │││ 0x00007f385521f1fb: add %r8d,%edx
[info] 5.89% 7.23% │││ 0x00007f385521f1fe: add %r8d,%edx
[info] 4.91% 8.00% │││ 0x00007f385521f201: add %r8d,%edx
[info] 5.74% 8.71% │││ 0x00007f385521f204: add %r8d,%edx
[info] 4.79% 8.30% │││ 0x00007f385521f207: add %r8d,%edx
[info] 5.37% 7.75% │││ 0x00007f385521f20a: add %r8d,%edx
[info] 5.01% 6.41% │││ 0x00007f385521f20d: add %r8d,%edx
[info] 5.10% 4.37% │││ 0x00007f385521f210: mov %r8d,%r11d
[info] 2.33% 1.80% │││ 0x00007f385521f213: add $0xf,%r11d
[info] 2.64% 1.75% │││ 0x00007f385521f217: mov %r11d,0x10(%r10) ;*putfield v
[info] │││ ; - traitEncodings.NoCHAPreventsOptimization::bVirtual@16 (line 59)
[info] │││ ; - traitEncodings.generated.NoCHAPreventsOptimization_bVirtual_jmhTest::bVirtual_avgt_jmhStub@16 (line 161)
[info] 2.45% 1.95% │││ 0x00007f385521f21b: add $0x78,%edx ;*iadd
[info] │││ ; - traitEncodings.NoCHAPreventsOptimization::bVirtual@27 (line 60)
[info] │││ ; - traitEncodings.generated.NoCHAPreventsOptimization_bVirtual_jmhTest::bVirtual_avgt_jmhStub@16 (line 161)
[info] 2.35% 1.80% │││ 0x00007f385521f21e: add $0x10,%r8d ;*iinc
[info] │││ ; - traitEncodings.NoCHAPreventsOptimization::bVirtual@29 (line 58)
[info] │││ ; - traitEncodings.generated.NoCHAPreventsOptimization_bVirtual_jmhTest::bVirtual_avgt_jmhStub@16 (line 161)
[info] 2.53% 1.76% │││ 0x00007f385521f222: cmp $0x3d9,%r8d
[info] 2.64% 1.73% ╰││ 0x00007f385521f229: jl 0x00007f385521f1e0 ;*if_icmpge
[info] ││ ; - traitEncodings.NoCHAPreventsOptimization::bVirtual@8 (line 58)
[info] ││ ; - traitEncodings.generated.NoCHAPreventsOptimization_bVirtual_jmhTest::bVirtual_avgt_jmhStub@16 (line 161)
[info] 0.06% ││ 0x00007f385521f22b: cmp $0x3e8,%r8d
[info] 0.44% 0.44% ╰│ 0x00007f385521f232: jl 0x00007f385521f188
[info] ╰ 0x00007f385521f238: jmpq 0x00007f385521f19b
[info] 0x00007f385521f23d: mov $0xfffffff6,%esi
[info] 0x00007f385521f242: mov %rax,%rbp
[info] 0x00007f385521f245: xchg %ax,%ax
[info] 0x00007f385521f247: callq 0x00007f3855004ee0 ; OopMap{off=524}
[info] ;*putfield startTime
[info] ; - traitEncodings.generated.NoCHAPreventsOptimization_bVirtual_jmhTest::bVirtual_avgt_jmhStub@10 (line 159)
[info] ; {runtime_call}
[info] 0x00007f385521f24c: callq 0x00007f386a42c070 ; {runtime_call}
[info] 0x00007f385521f251: mov $0xfffffff6,%esi
[info] ....................................................................................................
[info] 91.86% 93.22% <total for region 1>
[info]
[info] ....[Hottest Regions]...............................................................................
[info] 91.86% 93.22% [0x7f385521f178:0x7f385521f251] in traitEncodings.generated.NoCHAPreventsOptimization_bVirtual_jmhTest::bVirtual_avgt_jmhStub
[info] 2.31% 2.34% [0x7f385521fab4:0x7f385521fbaa] in traitEncodings.generated.NoCHAPreventsOptimization_bVirtual_jmhTest::bVirtual_avgt_jmhStub
[info] 0.85% 0.66% [0x7f385520c1e0:0x7f385520c24b] in org.openjdk.jmh.infra.Blackhole::consume
[info] 0.10% 0.04% [0xffffffff815c8350:0xffffffff815c83bc] in entry_SYSCALL_64_after_swapgs; entry_SYSCALL_64; system_call_fast_compare_end; system_call_fast_compare ([kernel.kallsyms])
[info] 0.08% 0.03% [0x7f386a43d2e0:0x7f386a43d34d] in [unknown] (libjvm.so)
[info] 0.07% 0.08% [0xffffffff811f117a:0xffffffff811f126d] in new_sync_write; __vfs_write ([kernel.kallsyms])
[info] 0.06% 0.13% [0x7f386a438f70:0x7f386a438fde] in [unknown] (libjvm.so)
[info] 0.05% 0.02% [0xffffffff811f2fa0:0xffffffff811f3032] in sys_write ([kernel.kallsyms])
[info] 0.05% 0.01% [0xffffffff8131ef70:0xffffffff8131ef7c] in copy_user_enhanced_fast_string ([kernel.kallsyms])
[info] 0.05% 0.03% [0xffffffff815c82a5:0xffffffff815c82c6] in _raw_spin_lock_irqsave ([kernel.kallsyms])
[info] 0.05% 0.02% [0xffffffff810bb4b0:0xffffffff810bb4f4] in __wake_up_sync_key ([kernel.kallsyms])
[info] 0.05% 0.01% [0xffffffff811fa2b0:0xffffffff811fa2ca] in pipe_write ([kernel.kallsyms])
[info] 0.05% 0.11% [0x7f386a439fd0:0x7f386a43a00a] in [unknown] (libjvm.so)
[info] 0.05% 0.16% [0x7f386a4bd010:0x7f386a4bd05c] in [unknown] (libjvm.so)
[info] 0.05% 0.05% [0x7f386ab5cfa0:0x7f386ab5cfe6] in [unknown] (libc-2.19.so)
[info] 0.05% 0.05% [0x7f386ab69750:0x7f386ab69796] in strchrnul (libc-2.19.so)
[info] 0.04% 0.02% [0xffffffff815c658e:0xffffffff815c6591] in mutex_lock ([kernel.kallsyms])
[info] 0.04% [0xffffffff815c7f78:0xffffffff815c7f86] in _raw_spin_unlock_irqrestore ([kernel.kallsyms])
[info] 0.04% [0x7f386a0a97ea:0x7f386a0a9831] in [unknown] (libjvm.so)
[info] 0.04% 0.05% [0x7f386ab518b0:0x7f386ab5192e] in _IO_file_xsputn (libc-2.19.so)
[info] 4.06% 2.98% <...other 629 warm regions...>
[info] ....................................................................................................
[info] 100.00% 99.99% <totals>
[info]
[info] ....[Hottest Methods (after inlining)]..............................................................
[info] 94.18% 95.56% traitEncodings.generated.NoCHAPreventsOptimization_bVirtual_jmhTest::bVirtual_avgt_jmhStub
[info] 1.12% 1.11% [unknown] (libjvm.so)
[info] 0.85% 0.66% org.openjdk.jmh.infra.Blackhole::consume
[info] 0.28% 0.27% [unknown] (libc-2.19.so)
[info] 0.25% 0.11% <unresolved>
[info] 0.18% 0.17% vfprintf (libc-2.19.so)
[info] 0.13% 0.09% pipe_write ([kernel.kallsyms])
[info] 0.10% 0.04% entry_SYSCALL_64_after_swapgs; entry_SYSCALL_64; system_call_fast_compare_end; system_call_fast_compare ([kernel.kallsyms])
[info] 0.07% 0.08% vfs_write ([kernel.kallsyms])
[info] 0.07% 0.11% _IO_fwrite (libc-2.19.so)
[info] 0.07% 0.08% new_sync_write; __vfs_write ([kernel.kallsyms])
[info] 0.06% 0.05% ext4_mark_iloc_dirty ([ext4])
[info] 0.05% 0.03% _raw_spin_lock_irqsave ([kernel.kallsyms])
[info] 0.05% 0.05% __vsnprintf_chk (libc-2.19.so)
[info] 0.05% 0.02% sys_write ([kernel.kallsyms])
[info] 0.05% 0.01% copy_user_enhanced_fast_string ([kernel.kallsyms])
[info] 0.05% 0.05% strchrnul (libc-2.19.so)
[info] 0.05% 0.04% strlen (libc-2.19.so)
[info] 0.05% 0.02% __wake_up_sync_key ([kernel.kallsyms])
[info] 0.05% 0.09% copy_page_from_iter ([kernel.kallsyms])
[info] 2.25% 1.23% <...other 183 warm methods...>
[info] ....................................................................................................
[info] 100.00% 99.86% <totals>
[info]
[info] ....[Distribution by Area]..........................................................................
[info] 95.37% 96.35% <generated code>
[info] 2.08% 1.36% <native code in ([kernel.kallsyms])>
[info] 1.15% 1.13% <native code in (libjvm.so)>
[info] 0.91% 0.83% <native code in (libc-2.19.so)>
[info] 0.24% 0.18% <native code in ([ext4])>
[info] 0.15% 0.09% <native code in ([jbd2])>
[info] 0.09% 0.06% <native code in (libpthread-2.19.so)>
[info] 0.01% <native code in (perf-8463.map)>
[info] ....................................................................................................
[info] 100.00% 99.99% <totals>
[info]
[info]
[info]
[info] # JMH 1.12 (released 91 days ago, please consider updating!)
[info] # VM version: JDK 1.8.0_91, VM 25.91-b14
[info] # VM invoker: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
[info] # VM options: <none>
[info] # Warmup: 10 iterations, 1 s each
[info] # Measurement: 10 iterations, 1 s each
[info] # Timeout: 10 min per iteration
[info] # Threads: 1 thread, will synchronize iterations
[info] # Benchmark mode: Average time, time/op
[info] # Benchmark: traitEncodings.NoCHAPreventsOptimization.cForward
[info]
[info] # Run progress: 66.67% complete, ETA 00:00:35
[info] # Fork: 1 of 1
[info] # Preparing profilers: LinuxPerfAsmProfiler
[info] # Profilers consume stdout and stderr from target VM, use -v EXTRA to copy to console
[info] # Warmup Iteration 1: 654.504 ns/op
[info] # Warmup Iteration 2: 607.322 ns/op
[info] # Warmup Iteration 3: 554.559 ns/op
[info] # Warmup Iteration 4: 545.885 ns/op
[info] # Warmup Iteration 5: 546.091 ns/op
[info] # Warmup Iteration 6: 546.430 ns/op
[info] # Warmup Iteration 7: 545.992 ns/op
[info] # Warmup Iteration 8: 545.908 ns/op
[info] # Warmup Iteration 9: 546.481 ns/op
[info] # Warmup Iteration 10: 545.914 ns/op
[info] Iteration 1: 546.400 ns/op
[info] Iteration 2: 546.169 ns/op
[info] Iteration 3: 546.072 ns/op
[info] Iteration 4: 546.271 ns/op
[info] Iteration 5: 545.975 ns/op
[info] Iteration 6: 545.950 ns/op
[info] Iteration 7: 546.530 ns/op
[info] Iteration 8: 546.084 ns/op
[info] Iteration 9: 547.141 ns/op
[info] Iteration 10: 546.542 ns/op
[info] # Processing profiler results: LinuxPerfAsmProfiler
[info]
[info]
[info] Result "cForward":
[info] 546.313 ±(99.9%) 0.546 ns/op [Average]
[info] (min, avg, max) = (545.950, 546.313, 547.141), stdev = 0.361
[info] CI (99.9%): [545.768, 546.859] (assumes normal distribution)
[info]
[info] Secondary result "·asm":
[info] PrintAssembly processed: 136622 total address lines.
[info] Perf output processed (skipped 10.669 seconds):
[info] Column 1: cycles (18630 events)
[info] Column 2: instructions (18345 events)
[info]
[info] Hottest code regions (>10.00% "cycles" events):
[info] ....[Hottest Region 1]..............................................................................
[info] [0x7f4fe51f18b8:0x7f4fe51f1991] in traitEncodings.generated.NoCHAPreventsOptimization_cForward_jmhTest::cForward_avgt_jmhStub
[info]
[info] ; - traitEncodings.generated.NoCHAPreventsOptimization_cForward_jmhTest::cForward_avgt_jmhStub@39 (line 164)
[info] 0x00007f4fe51f18b8: mov %r12,0x20(%r10) ;*putfield realTime
[info] ; - traitEncodings.generated.NoCHAPreventsOptimization_cForward_jmhTest::cForward_avgt_jmhStub@45 (line 165)
[info] 0x00007f4fe51f18bc: add $0x40,%rsp
[info] 0x00007f4fe51f18c0: pop %rbp
[info] 0x00007f4fe51f18c1: test %eax,0x17124739(%rip) # 0x00007f4ffc316000
[info] ; {poll_return}
[info] 0x00007f4fe51f18c7: retq ;*aload_0
[info] ; - traitEncodings.NoCHAPreventsOptimization::cForward@11 (line 69)
[info] ; - traitEncodings.generated.NoCHAPreventsOptimization_cForward_jmhTest::cForward_avgt_jmhStub@16 (line 161)
[info] 0.37% 0.26% ↗ ↗ 0x00007f4fe51f18c8: mov %r8d,0x10(%r10) ;*putfield v
[info] │ │ ; - traitEncodings.NoCHAPreventsOptimization::cForward@16 (line 69)
[info] │ │ ; - traitEncodings.generated.NoCHAPreventsOptimization_cForward_jmhTest::cForward_avgt_jmhStub@16 (line 161)
[info] 0.68% 0.72% │ │ 0x00007f4fe51f18cc: add %r8d,%edx ;*iadd
[info] │ │ ; - traitEncodings.NoCHAPreventsOptimization::cForward@27 (line 70)
[info] │ │ ; - traitEncodings.generated.NoCHAPreventsOptimization_cForward_jmhTest::cForward_avgt_jmhStub@16 (line 161)
[info] 0.22% 0.13% │ │ 0x00007f4fe51f18cf: inc %r8d ;*iinc
[info] │ │ ; - traitEncodings.NoCHAPreventsOptimization::cForward@29 (line 68)
[info] │ │ ; - traitEncodings.generated.NoCHAPreventsOptimization_cForward_jmhTest::cForward_avgt_jmhStub@16 (line 161)
[info] 0.27% 0.21% │ │ 0x00007f4fe51f18d2: cmp $0x3e8,%r8d
[info] 0.28% 0.29% ╰ │ 0x00007f4fe51f18d9: jl 0x00007f4fe51f18c8 ;*invokevirtual cForward
[info] │ ; - traitEncodings.generated.NoCHAPreventsOptimization_cForward_jmhTest::cForward_avgt_jmhStub@16 (line 161)
[info] 0.09% 0.08% │↗ 0x00007f4fe51f18db: mov 0x18(%rsp),%rsi
[info] 0.37% 0.56% ││ 0x00007f4fe51f18e0: xchg %ax,%ax
[info] 0.12% 0.13% ││ 0x00007f4fe51f18e3: callq 0x00007f4fe5045d60 ; OopMap{[0]=Oop [8]=Oop [24]=Oop [40]=Oop off=360}
[info] ││ ;*invokevirtual consume
[info] ││ ; - traitEncodings.generated.NoCHAPreventsOptimization_cForward_jmhTest::cForward_avgt_jmhStub@19 (line 161)
[info] ││ ; {optimized virtual_call}
[info] 0.08% 0.06% ││ 0x00007f4fe51f18e8: mov (%rsp),%r10
[info] 0.10% ││ 0x00007f4fe51f18ec: movzbl 0x94(%r10),%r11d ;*getfield isDone
[info] ││ ; - traitEncodings.generated.NoCHAPreventsOptimization_cForward_jmhTest::cForward_avgt_jmhStub@29 (line 163)
[info] 0.25% 0.29% ││ 0x00007f4fe51f18f4: add $0x1,%rbp ; OopMap{[0]=Oop [8]=Oop [24]=Oop [40]=Oop off=376}
[info] ││ ;*ifeq
[info] ││ ; - traitEncodings.generated.NoCHAPreventsOptimization_cForward_jmhTest::cForward_avgt_jmhStub@32 (line 163)
[info] ││ 0x00007f4fe51f18f8: test %eax,0x17124702(%rip) # 0x00007f4ffc316000
[info] ││ ; {poll}
[info] 0.08% 0.10% ││ 0x00007f4fe51f18fe: test %r11d,%r11d
[info] ││ 0x00007f4fe51f1901: jne 0x00007f4fe51f189e ;*aload
[info] ││ ; - traitEncodings.generated.NoCHAPreventsOptimization_cForward_jmhTest::cForward_avgt_jmhStub@13 (line 161)
[info] 0.09% 0.12% ││ 0x00007f4fe51f1903: mov 0x28(%rsp),%r10
[info] ││ 0x00007f4fe51f1908: mov 0x18(%r10),%r10d ;*getfield c3
[info] ││ ; - traitEncodings.NoCHAPreventsOptimization::cForward@12 (line 69)
[info] ││ ; - traitEncodings.generated.NoCHAPreventsOptimization_cForward_jmhTest::cForward_avgt_jmhStub@16 (line 161)
[info] 0.31% 0.20% ││ 0x00007f4fe51f190c: mov %r12d,0x10(%r10) ;*putfield v
[info] ││ ; - traitEncodings.NoCHAPreventsOptimization::cForward@16 (line 69)
[info] ││ ; - traitEncodings.generated.NoCHAPreventsOptimization_cForward_jmhTest::cForward_avgt_jmhStub@16 (line 161)
[info] ││ ; implicit exception: dispatches to 0x00007f4fe51f19a5
[info] 0.26% 0.27% ││ 0x00007f4fe51f1910: mov $0x1,%r8d
[info] 0.06% ││ 0x00007f4fe51f1916: xor %edx,%edx
[info] ││ 0x00007f4fe51f1918: nopl 0x0(%rax,%rax,1) ;*aload_0
[info] ││ ; - traitEncodings.NoCHAPreventsOptimization::cForward@11 (line 69)
[info] ││ ; - traitEncodings.generated.NoCHAPreventsOptimization_cForward_jmhTest::cForward_avgt_jmhStub@16 (line 161)
[info] 2.54% 1.72% ↗││ 0x00007f4fe51f1920: add %r8d,%edx
[info] 2.78% 1.89% │││ 0x00007f4fe51f1923: add %r8d,%edx
[info] 2.27% 2.04% │││ 0x00007f4fe51f1926: add %r8d,%edx
[info] 2.30% 1.77% │││ 0x00007f4fe51f1929: add %r8d,%edx
[info] 2.52% 1.78% │││ 0x00007f4fe51f192c: add %r8d,%edx
[info] 2.54% 1.89% │││ 0x00007f4fe51f192f: add %r8d,%edx
[info] 5.21% 3.72% │││ 0x00007f4fe51f1932: add %r8d,%edx
[info] 5.17% 3.86% │││ 0x00007f4fe51f1935: add %r8d,%edx
[info] 5.42% 3.98% │││ 0x00007f4fe51f1938: add %r8d,%edx
[info] 5.12% 5.27% │││ 0x00007f4fe51f193b: add %r8d,%edx
[info] 5.78% 7.58% │││ 0x00007f4fe51f193e: add %r8d,%edx
[info] 4.74% 7.50% │││ 0x00007f4fe51f1941: add %r8d,%edx
[info] 5.37% 8.67% │││ 0x00007f4fe51f1944: add %r8d,%edx
[info] 5.12% 7.75% │││ 0x00007f4fe51f1947: add %r8d,%edx
[info] 5.32% 8.20% │││ 0x00007f4fe51f194a: add %r8d,%edx
[info] 5.15% 6.63% │││ 0x00007f4fe51f194d: add %r8d,%edx
[info] 5.24% 4.63% │││ 0x00007f4fe51f1950: mov %r8d,%r11d
[info] 2.68% 1.80% │││ 0x00007f4fe51f1953: add $0xf,%r11d
[info] 2.54% 1.99% │││ 0x00007f4fe51f1957: mov %r11d,0x10(%r10) ;*putfield v
[info] │││ ; - traitEncodings.NoCHAPreventsOptimization::cForward@16 (line 69)
[info] │││ ; - traitEncodings.generated.NoCHAPreventsOptimization_cForward_jmhTest::cForward_avgt_jmhStub@16 (line 161)
[info] 2.50% 1.70% │││ 0x00007f4fe51f195b: add $0x78,%edx ;*iadd
[info] │││ ; - traitEncodings.NoCHAPreventsOptimization::cForward@27 (line 70)
[info] │││ ; - traitEncodings.generated.NoCHAPreventsOptimization_cForward_jmhTest::cForward_avgt_jmhStub@16 (line 161)
[info] 2.52% 2.01% │││ 0x00007f4fe51f195e: add $0x10,%r8d ;*iinc
[info] │││ ; - traitEncodings.NoCHAPreventsOptimization::cForward@29 (line 68)
[info] │││ ; - traitEncodings.generated.NoCHAPreventsOptimization_cForward_jmhTest::cForward_avgt_jmhStub@16 (line 161)
[info] 2.54% 1.77% │││ 0x00007f4fe51f1962: cmp $0x3d9,%r8d
[info] 2.46% 1.86% ╰││ 0x00007f4fe51f1969: jl 0x00007f4fe51f1920 ;*if_icmpge
[info] ││ ; - traitEncodings.NoCHAPreventsOptimization::cForward@8 (line 68)
[info] ││ ; - traitEncodings.generated.NoCHAPreventsOptimization_cForward_jmhTest::cForward_avgt_jmhStub@16 (line 161)
[info] 0.04% ││ 0x00007f4fe51f196b: cmp $0x3e8,%r8d
[info] 0.49% 0.39% ╰│ 0x00007f4fe51f1972: jl 0x00007f4fe51f18c8
[info] ╰ 0x00007f4fe51f1978: jmpq 0x00007f4fe51f18db
[info] 0x00007f4fe51f197d: mov $0xfffffff6,%esi
[info] 0x00007f4fe51f1982: mov %rax,%rbp
[info] 0x00007f4fe51f1985: xchg %ax,%ax
[info] 0x00007f4fe51f1987: callq 0x00007f4fe5004ee0 ; OopMap{off=524}
[info] ;*putfield startTime
[info] ; - traitEncodings.generated.NoCHAPreventsOptimization_cForward_jmhTest::cForward_avgt_jmhStub@10 (line 159)
[info] ; {runtime_call}
[info] 0x00007f4fe51f198c: callq 0x00007f4ffae52070 ; {runtime_call}
[info] 0x00007f4fe51f1991: mov $0xfffffff6,%esi
[info] ....................................................................................................
[info] 92.00% 93.80% <total for region 1>
[info]
[info] ....[Hottest Regions]...............................................................................
[info] 92.00% 93.80% [0x7f4fe51f18b8:0x7f4fe51f1991] in traitEncodings.generated.NoCHAPreventsOptimization_cForward_jmhTest::cForward_avgt_jmhStub
[info] 0.80% 0.57% [0x7f4fe51e3560:0x7f4fe51e35cb] in org.openjdk.jmh.infra.Blackhole::consume
[info] 0.16% 0.04% [0xffffffff815c8350:0xffffffff815c83ce] in entry_SYSCALL_64_after_swapgs; entry_SYSCALL_64; system_call_fast_compare_end; system_call_fast_compare ([kernel.kallsyms])
[info] 0.13% 0.08% [0x7f4ffb0248b0:0x7f4ffb024906] in [unknown] (libjvm.so)
[info] 0.11% 0.33% [0x7f4ffaee3028:0x7f4ffaee3097] in [unknown] (libjvm.so)
[info] 0.11% 0.09% [0x7f4ffae5ffd9:0x7f4ffae6000a] in [unknown] (libjvm.so)
[info] 0.09% 0.02% [0x7f4ffb0249e8:0x7f4ffb024a37] in [unknown] (libjvm.so)
[info] 0.08% 0.06% [0xffffffff811fa2b0:0xffffffff811fa341] in pipe_write ([kernel.kallsyms])
[info] 0.07% 0.11% [0xffffffff811f1170:0xffffffff811f1274] in new_sync_write; __vfs_write ([kernel.kallsyms])
[info] 0.06% 0.01% [0xffffffff815c7f70:0xffffffff815c7f81] in _raw_spin_unlock_irqrestore ([kernel.kallsyms])
[info] 0.06% 0.05% [0x7f4ffae63070:0x7f4ffae630de] in [unknown] (libjvm.so)
[info] 0.06% 0.05% [0xffffffff81231ae0:0xffffffff81231b4b] in fsnotify ([kernel.kallsyms])
[info] 0.06% 0.01% [0xffffffff8131ef70:0xffffffff8131ef77] in copy_user_enhanced_fast_string ([kernel.kallsyms])
[info] 0.06% 0.19% [0x7f4ffae5ef70:0x7f4ffae5f009] in [unknown] (libjvm.so)
[info] 0.06% 0.06% [0x7f4ffb56d9c0:0x7f4ffb56da18] in _IO_fwrite (libc-2.19.so)
[info] 0.06% 0.12% [0x7f4ffb58f750:0x7f4ffb58f796] in strchrnul (libc-2.19.so)
[info] 0.05% 0.01% [0xffffffff810bb4b0:0xffffffff810bb4fb] in __wake_up_sync_key ([kernel.kallsyms])
[info] 0.05% 0.02% [0xffffffff811fa522:0xffffffff811fa574] in pipe_write ([kernel.kallsyms])
[info] 0.05% 0.04% [0x7f4ffb024932:0x7f4ffb02493f] in [unknown] (libjvm.so)
[info] 0.05% 0.08% [0x7f4ffb5791f0:0x7f4ffb579254] in _IO_default_xsputn (libc-2.19.so)
[info] 5.77% 4.24% <...other 713 warm regions...>
[info] ....................................................................................................
[info] 99.95% 99.98% <totals>
[info]
[info] ....[Hottest Methods (after inlining)]..............................................................
[info] 92.00% 93.80% traitEncodings.generated.NoCHAPreventsOptimization_cForward_jmhTest::cForward_avgt_jmhStub
[info] 1.64% 1.58% [unknown] (libjvm.so)
[info] 0.80% 0.57% org.openjdk.jmh.infra.Blackhole::consume
[info] 0.35% 0.29% [unknown] (libc-2.19.so)
[info] 0.24% 0.31% vfprintf (libc-2.19.so)
[info] 0.23% 0.08% print_insn (hsdis-amd64.so)
[info] 0.17% 0.14% pipe_write ([kernel.kallsyms])
[info] 0.16% 0.04% entry_SYSCALL_64_after_swapgs; entry_SYSCALL_64; system_call_fast_compare_end; system_call_fast_compare ([kernel.kallsyms])
[info] 0.11% 0.08% fsnotify ([kernel.kallsyms])
[info] 0.10% 0.12% _IO_fwrite (libc-2.19.so)
[info] 0.10% 0.11% copy_page_from_iter ([kernel.kallsyms])
[info] 0.08% 0.05% enqueue_entity ([kernel.kallsyms])
[info] 0.07% 0.10% _IO_default_xsputn (libc-2.19.so)
[info] 0.07% 0.07% ext4_mark_iloc_dirty ([ext4])
[info] 0.07% 0.11% new_sync_write; __vfs_write ([kernel.kallsyms])
[info] 0.06% 0.03% _IO_fflush (libc-2.19.so)
[info] 0.06% 0.02% sys_write ([kernel.kallsyms])
[info] 0.06% 0.01% try_to_wake_up ([kernel.kallsyms])
[info] 0.06% 0.01% _raw_spin_unlock_irqrestore ([kernel.kallsyms])
[info] 0.06% 0.07% _IO_file_xsputn (libc-2.19.so)
[info] 3.45% 2.20% <...other 195 warm methods...>
[info] ....................................................................................................
[info] 99.95% 99.80% <totals>
[info]
[info] ....[Distribution by Area]..........................................................................
[info] 92.90% 94.40% <generated code>
[info] 3.08% 2.21% <native code in ([kernel.kallsyms])>
[info] 1.69% 1.60% <native code in (libjvm.so)>
[info] 1.19% 1.26% <native code in (libc-2.19.so)>
[info] 0.42% 0.17% <native code in (hsdis-amd64.so)>
[info] 0.40% 0.25% <native code in ([ext4])>
[info] 0.17% 0.05% <native code in ([jbd2])>
[info] 0.10% 0.05% <native code in (libpthread-2.19.so)>
[info] ....................................................................................................
[info] 99.95% 99.98% <totals>
[info]
[info]
[info]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment