# JMH 1.11.2 (released 74 days ago) # VM version: JDK 1.8.0_66, VM 25.66-b17 # VM invoker: /home/shade/Install/jdk8u66/jre/bin/java # VM options: -XX:TieredStopAtLevel=1 -XX:+UseParallelGC -Xms1g -Xmx1g # Warmup: 10 iterations, 1 s each # Measurement: 10 iterations, 1 s each # Timeout: 10 min per iteration # Threads: 1 thread, will synchronize iterations # Benchmark mode: Average time, time/op # Benchmark: org.openjdk.EmptyArrayBench.const_008 # Run progress: 0.00% complete, ETA 00:00:20 # Fork: 1 of 1 # Preparing profilers: LinuxPerfAsmProfiler # Profilers consume stdout and stderr from target VM, use -v EXTRA to copy to console # Warmup Iteration 1: 7.831 ns/op # Warmup Iteration 2: 6.769 ns/op # Warmup Iteration 3: 6.838 ns/op # Warmup Iteration 4: 6.807 ns/op # Warmup Iteration 5: 6.986 ns/op # Warmup Iteration 6: 6.827 ns/op # Warmup Iteration 7: 6.790 ns/op # Warmup Iteration 8: 6.860 ns/op # Warmup Iteration 9: 6.798 ns/op # Warmup Iteration 10: 6.774 ns/op Iteration 1: 6.910 ns/op Iteration 2: 6.853 ns/op Iteration 3: 6.786 ns/op Iteration 4: 6.816 ns/op Iteration 5: 6.914 ns/op Iteration 6: 6.858 ns/op Iteration 7: 6.794 ns/op Iteration 8: 6.765 ns/op Iteration 9: 6.843 ns/op Iteration 10: 6.892 ns/op # Processing profiler results: LinuxPerfAsmProfiler Result "const_008": 6.843 ±(99.9%) 0.079 ns/op [Average] (min, avg, max) = (6.765, 6.843, 6.914), stdev = 0.052 CI (99.9%): [6.764, 6.922] (assumes normal distribution) Secondary result "·asm": PrintAssembly processed: 104594 total address lines. Perf output processed (skipped 10.075 seconds): Column 1: cycles (11789 events) Column 2: instructions (12012 events) Hottest code regions (>10.00% "cycles" events): ....[Hottest Region 1].............................................................................. [0x7f50e11af8fb:0x7f50e11af9fe] in org.openjdk.generated.EmptyArrayBench_const_008_jmhTest::const_008_avgt_jmhStub 0x00007f50e11af8fb: mov %r9,0x48(%rsp) 0x00007f50e11af900: callq 0x00007f50f616d0a0 ;*invokestatic nanoTime ; - org.openjdk.generated.EmptyArrayBench_const_008_jmhTest::const_008_avgt_jmhStub@7 (line 197) ; {runtime_call} 0x00007f50e11af905: mov 0x38(%rsp),%rcx 0x00007f50e11af90a: mov %rax,0x28(%rcx) ;*putfield startTime ; - org.openjdk.generated.EmptyArrayBench_const_008_jmhTest::const_008_avgt_jmhStub@10 (line 197) ; implicit exception: dispatches to 0x00007f50e11afa17 0x00007f50e11af90e: movabs $0x0,%r8 ;*aload ; - org.openjdk.generated.EmptyArrayBench_const_008_jmhTest::const_008_avgt_jmhStub@13 (line 199) 0.51% 0.53% ↗ 0x00007f50e11af918: mov %r8,0x58(%rsp) │ 0x00007f50e11af91d: mov 0x48(%rsp),%r9 0.01% │ 0x00007f50e11af922: mov 0x40(%rsp),%r8 3.08% 3.72% │ 0x00007f50e11af927: cmp (%r8),%rax ;*invokevirtual const_008 │ ; - org.openjdk.generated.EmptyArrayBench_const_008_jmhTest::const_008_avgt_jmhStub@16 (line 199) │ ; implicit exception: dispatches to 0x00007f50e11afa1c 0.41% 0.76% │ 0x00007f50e11af92a: mov $0x8,%ebx │ 0x00007f50e11af92f: movabs $0x1000c81a8,%rdx ; {metadata('org/openjdk/EmptyArrayBench$Foo'[])} 0.01% │ 0x00007f50e11af939: movslq %ebx,%rbx 3.08% 3.95% │ 0x00007f50e11af93c: mov %rbx,%rdi 0.51% 0.73% │ 0x00007f50e11af93f: cmp $0xffffff,%rbx │ 0x00007f50e11af946: ja 0x00007f50e11afa21 0.01% │ 0x00007f50e11af94c: movabs $0x17,%rsi │ 0x00007f50e11af956: lea (%rsi,%rbx,4),%rsi 2.98% 3.49% │ 0x00007f50e11af95a: and $0xfffffffffffffff8,%rsi 0.35% 0.79% │ 0x00007f50e11af95e: mov 0x60(%r15),%rax 0.01% 0.01% │ 0x00007f50e11af962: lea (%rax,%rsi,1),%rsi │ 0x00007f50e11af966: cmp 0x70(%r15),%rsi 0.03% 0.01% │ 0x00007f50e11af96a: ja 0x00007f50e11afa21 3.13% 3.48% │ 0x00007f50e11af970: mov %rsi,0x60(%r15) 0.38% 0.64% │ 0x00007f50e11af974: sub %rax,%rsi │ 0x00007f50e11af977: movq $0x1,(%rax) 0.13% 0.03% │ 0x00007f50e11af97e: mov %rdx,%rcx 3.28% 2.84% │ 0x00007f50e11af981: shr $0x3,%rcx 0.34% 0.84% │ 0x00007f50e11af985: mov %ecx,0x8(%rax) 0.04% │ 0x00007f50e11af988: mov %ebx,0xc(%rax) 0.04% 0.04% │ 0x00007f50e11af98b: sub $0x10,%rsi 0.02% ╭ │ 0x00007f50e11af98f: je 0x00007f50e11af9a6 3.43% 2.88% │ │ 0x00007f50e11af995: xor %rbx,%rbx 0.46% 0.49% │ │ 0x00007f50e11af998: shr $0x3,%rsi 9.59% 6.72% │↗│ 0x00007f50e11af99c: mov %rbx,0x8(%rax,%rsi,8) 0.84% 0.90% │││ 0x00007f50e11af9a1: dec %rsi 0.03% │╰│ 0x00007f50e11af9a4: jne 0x00007f50e11af99c ;*anewarray │ │ ; - org.openjdk.EmptyArrayBench::const_008@2 (line 109) │ │ ; - org.openjdk.generated.EmptyArrayBench_const_008_jmhTest::const_008_avgt_jmhStub@16 (line 199) ↘ │ 0x00007f50e11af9a6: cmp (%r9),%rax ; implicit exception: dispatches to 0x00007f50e11afa2b 0.18% 0.10% │ 0x00007f50e11af9a9: mov %rax,%rdx 3.83% 2.16% │ 0x00007f50e11af9ac: mov %r9,%rsi ;*invokevirtual consume │ ; - org.openjdk.generated.EmptyArrayBench_const_008_jmhTest::const_008_avgt_jmhStub@19 (line 199) 0.03% 0.03% │ 0x00007f50e11af9af: callq 0x00007f50e1046020 ; OopMap{[56]=Oop [80]=Oop [72]=Oop [64]=Oop off=244} │ ;*invokevirtual consume │ ; - org.openjdk.generated.EmptyArrayBench_const_008_jmhTest::const_008_avgt_jmhStub@19 (line 199) │ ; {optimized virtual_call} 1.11% 0.92% │ 0x00007f50e11af9b4: mov 0x58(%rsp),%r8 0.03% 0.01% │ 0x00007f50e11af9b9: movabs $0x1,%r10 2.83% 4.25% │ 0x00007f50e11af9c3: add %r10,%r8 0.78% 0.87% │ 0x00007f50e11af9c6: mov 0x50(%rsp),%rdx 0.02% 0.02% │ 0x00007f50e11af9cb: movsbl 0x94(%rdx),%esi ; OopMap{[56]=Oop [72]=Oop [64]=Oop rdx=Oop [80]=Oop off=274} │ ;*ifeq │ ; - org.openjdk.generated.EmptyArrayBench_const_008_jmhTest::const_008_avgt_jmhStub@32 (line 201) │ ; implicit exception: dispatches to 0x00007f50e11afa30 0.06% 0.08% │ 0x00007f50e11af9d2: test %eax,0x1629d728(%rip) # 0x00007f50f744d100 │ ; {poll} 5.57% 7.07% │ 0x00007f50e11af9d8: cmp $0x0,%esi 0.01% ╰ 0x00007f50e11af9db: je 0x00007f50e11af918 ;*ifeq ; - org.openjdk.generated.EmptyArrayBench_const_008_jmhTest::const_008_avgt_jmhStub@32 (line 201) 0x00007f50e11af9e1: mov %r8,0x60(%rsp) 0x00007f50e11af9e6: callq 0x00007f50f616d0a0 ;*invokestatic nanoTime ; - org.openjdk.generated.EmptyArrayBench_const_008_jmhTest::const_008_avgt_jmhStub@36 (line 202) ; {runtime_call} 0x00007f50e11af9eb: mov 0x38(%rsp),%rcx 0x00007f50e11af9f0: mov %rax,0x30(%rcx) ;*putfield stopTime ; - org.openjdk.generated.EmptyArrayBench_const_008_jmhTest::const_008_avgt_jmhStub@39 (line 202) 0x00007f50e11af9f4: movabs $0x0,%r10 0x00007f50e11af9fe: mov %r10,0x20(%rcx) ;*putfield realTime .................................................................................................... 47.12% 48.38% ....[Hottest Region 2].............................................................................. [0x7f50e11aed85:0x7f50e11aede6] in org.openjdk.jmh.infra.Blackhole::consume 0x00007f50e11aed85: shr $0x9,%rbx 0x00007f50e11aed89: movabs $0x7f50e03f5000,%rax 0x00007f50e11aed93: movb $0x0,(%rbx,%rax,1) 0x00007f50e11aed97: lock addl $0x0,(%rsp) ;*putfield objs1 ; - org.openjdk.jmh.infra.Blackhole::consume@29 (line 335) 0x00007f50e11aed9c: shl %edi 0x00007f50e11aed9e: inc %edi 0x00007f50e11aeda0: mov %edi,0xc4(%rsi) 0x00007f50e11aeda6: lock addl $0x0,(%rsp) ;*putfield tlrMask ; - org.openjdk.jmh.infra.Blackhole::consume@38 (line 336) 3.50% 1.79% 0x00007f50e11aedab: add $0x30,%rsp 0.21% 0.09% 0x00007f50e11aedaf: pop %rbp 0.16% 0.06% 0x00007f50e11aedb0: test %eax,0x1629e34a(%rip) # 0x00007f50f744d100 ; {poll_return} 25.63% 30.52% 0x00007f50e11aedb6: retq 0x00007f50e11aedb7: nop 0x00007f50e11aedb8: nop 0x00007f50e11aedb9: mov 0x2a8(%r15),%rax 0x00007f50e11aedc0: movabs $0x0,%r10 0x00007f50e11aedca: mov %r10,0x2a8(%r15) 0x00007f50e11aedd1: movabs $0x0,%r10 0x00007f50e11aeddb: mov %r10,0x2b0(%r15) 0x00007f50e11aede2: add $0x30,%rsp 0x00007f50e11aede6: pop %rbp .................................................................................................... 29.50% 32.46% ....[Hottest Region 3].............................................................................. [0x7f50e11aed20:0x7f50e11aed9c] in org.openjdk.jmh.infra.Blackhole::consume # this: rsi:rsi = 'org/openjdk/jmh/infra/Blackhole' # parm0: rdx:rdx = '[Ljava/lang/Object;' # [sp+0x40] (sp of caller) 0x00007f50e11aed20: mov 0x8(%rsi),%r10d 0x00007f50e11aed24: shl $0x3,%r10 0x00007f50e11aed28: cmp %rax,%r10 0x00007f50e11aed2b: jne 0x00007f50e1045e20 ; {runtime_call} 0x00007f50e11aed31: data16 data16 nopw 0x0(%rax,%rax,1) 0x00007f50e11aed3c: data16 data16 xchg %ax,%ax [Verified Entry Point] 0.69% 0.66% 0x00007f50e11aed40: mov %eax,-0x14000(%rsp) 7.49% 5.89% 0x00007f50e11aed47: push %rbp 0.24% 0.12% 0x00007f50e11aed48: sub $0x30,%rsp ;*aload_0 ; - org.openjdk.jmh.infra.Blackhole::consume@0 (line 331) 2.99% 1.27% 0x00007f50e11aed4c: mov 0xc4(%rsi),%edi ;*getfield tlrMask ; - org.openjdk.jmh.infra.Blackhole::consume@1 (line 331) 0.35% 0.19% 0x00007f50e11aed52: mov 0xc0(%rsi),%ebx ;*getfield tlr ; - org.openjdk.jmh.infra.Blackhole::consume@7 (line 332) 0.14% 0.07% 0x00007f50e11aed58: mov $0x19660d,%eax 0.72% 0.53% 0x00007f50e11aed5d: imul %eax,%ebx 3.01% 1.46% 0x00007f50e11aed60: add $0x3c6ef35f,%ebx 0.42% 0.23% 0x00007f50e11aed66: mov %ebx,0xc0(%rsi) ;*putfield tlr ; - org.openjdk.jmh.infra.Blackhole::consume@17 (line 332) 0.20% 0.14% 0x00007f50e11aed6c: and %rdi,%rbx 0.01% 0x00007f50e11aed6f: cmp $0x0,%ebx 0x00007f50e11aed72: jne 0x00007f50e11aedab 0x00007f50e11aed78: mov %rdx,%r10 0x00007f50e11aed7b: mov %r10d,0xd8(%rsi) 0x00007f50e11aed82: mov %rsi,%rbx 0x00007f50e11aed85: shr $0x9,%rbx 0x00007f50e11aed89: movabs $0x7f50e03f5000,%rax 0x00007f50e11aed93: movb $0x0,(%rbx,%rax,1) 0x00007f50e11aed97: lock addl $0x0,(%rsp) ;*putfield objs1 ; - org.openjdk.jmh.infra.Blackhole::consume@29 (line 335) 0x00007f50e11aed9c: shl %edi .................................................................................................... 16.25% 10.57% ....[Hottest Regions]............................................................................... 47.12% 48.38% [0x7f50e11af8fb:0x7f50e11af9fe] in org.openjdk.generated.EmptyArrayBench_const_008_jmhTest::const_008_avgt_jmhStub 29.50% 32.46% [0x7f50e11aed85:0x7f50e11aede6] in org.openjdk.jmh.infra.Blackhole::consume 16.25% 10.57% [0x7f50e11aed20:0x7f50e11aed9c] in org.openjdk.jmh.infra.Blackhole::consume 2.54% 2.21% [0x7f50f604df60:0x7f50f604df69] in SpinPause (libjvm.so) 1.76% 1.71% [0xffffffff8105b83a:0xffffffff8105b83a] in [unknown] ([unknown]) 0.94% 2.46% [0x7f50f628b700:0x7f50f628b71a] in _ZN22ParallelTaskTerminator17offer_terminationEP20TerminatorTerminator (libjvm.so) 0.07% 0.01% [0x7f50f61de616:0x7f50f61de616] in _ZN22PSScavengeKlassClosure8do_klassEP5Klass (libjvm.so) 0.05% 0.05% [0xffffffff81032b2d:0xffffffff81032b2d] in [unknown] ([unknown]) 0.05% 0.01% [0xffffffff810d3028:0xffffffff810d3068] in [unknown] ([unknown]) 0.05% 0.01% [0xffffffff817b3c20:0xffffffff817b3c20] in [unknown] ([unknown]) 0.05% 0.28% [0x7f50f627baa0:0x7f50f627bae9] in _ZN11StringTable17unlink_or_oops_doEP17BoolObjectClosureP10OopClosurePiS4_ (libjvm.so) 0.04% 0.04% [0xffffffff813b2d35:0xffffffff813b2d3c] in [unknown] ([unknown]) 0.03% 0.02% [0x7f50f617f430:0x7f50f617f43e] in _ZN10fileStream5writeEPKcm (libjvm.so) 0.03% 0.02% [0xffffffff81032b0c:0xffffffff81032b0c] in [unknown] ([unknown]) 0.03% 0.02% [0xffffffff81165460:0xffffffff81165460] in [unknown] ([unknown]) 0.03% 0.02% [0xffffffff811ee751:0xffffffff811ee76c] in [unknown] ([unknown]) 0.03% 0.01% [0xffffffff817b3d99:0xffffffff817b3d99] in [unknown] ([unknown]) 0.03% 0.01% [0x7f50f63332ae:0x7f50f63332da] in _ZN13xmlTextStream5writeEPKcm (libjvm.so) 0.03% 0.02% [0x7f50f701d3ff:0x7f50f701d427] in pthread_getspecific (libpthread-2.19.so) 0.03% 0.02% [0x7f50f701f349:0x7f50f701f361] in [unknown] (libpthread-2.19.so) 1.35% 1.66% <...other 278 warm regions...> .................................................................................................... 99.99% 99.99% ....[Hottest Methods (after inlining)].............................................................. 47.12% 48.38% org.openjdk.generated.EmptyArrayBench_const_008_jmhTest::const_008_avgt_jmhStub 45.75% 43.03% org.openjdk.jmh.infra.Blackhole::consume 2.74% 2.54% [unknown] ([unknown]) 2.54% 2.21% SpinPause (libjvm.so) 0.94% 2.49% _ZN22ParallelTaskTerminator17offer_terminationEP20TerminatorTerminator (libjvm.so) 0.07% 0.44% _ZN11StringTable17unlink_or_oops_doEP17BoolObjectClosureP10OopClosurePiS4_ (libjvm.so) 0.07% 0.01% _ZN22PSScavengeKlassClosure8do_klassEP5Klass (libjvm.so) 0.03% 0.02% _ZN10fileStream5writeEPKcm (libjvm.so) 0.03% _ZN10decode_env12handle_eventEPKcPh (libjvm.so) 0.03% 0.01% _ZN13xmlTextStream5writeEPKcm (libjvm.so) 0.03% 0.02% [unknown] (libpthread-2.19.so) 0.03% 0.02% pthread_getspecific (libpthread-2.19.so) 0.02% 0.01% _ZN7Monitor5IWaitEP6Threadl (libjvm.so) 0.02% 0.01% _ZN12outputStream12do_vsnprintfEPcmPKcP13__va_list_tagbRm (libjvm.so) 0.02% 0.01% _ZN14JNIHandleBlock7oops_doEP10OopClosure (libjvm.so) 0.02% __strchr_sse2 (libc-2.19.so) 0.02% 0.02% _IO_fwrite (libc-2.19.so) 0.02% 0.01% _ZN13RelocIterator10initializeEP7nmethodPhS2_ (libjvm.so) 0.02% 0.03% _ZN18CardTableExtension26scavenge_contents_parallelEP16ObjectStartArrayP12MutableSpaceP8HeapWordP18PSPromotionManagerjj (libjvm.so) 0.02% 0.01% _ZN12outputStream15update_positionEPKcm (libjvm.so) 0.48% 0.19% <...other 57 warm methods...> .................................................................................................... 99.99% 99.47% ....[Distribution by Area].......................................................................... 92.93% 91.47% 4.15% 5.73% 2.74% 2.54% 0.08% 0.07% 0.07% 0.18% 0.03% 0.01% 0.01% .................................................................................................... 99.99% 99.99% # Run complete. Total time: 00:00:22 Benchmark Mode Cnt Score Error Units EmptyArrayBench.const_008 avgt 10 6.843 ± 0.079 ns/op EmptyArrayBench.const_008:·asm avgt NaN ---