$ java -jar target/benchmarks.jar -f 1 -prof perfasm # JMH 1.5.2 (released 6 days ago) # VM invoker: /home/shade/workspace-density/jdk9-baseline/bin/java # VM options: # Warmup: 20 iterations, 1 s each # Measurement: 20 iterations, 1 s each # Timeout: 10 min per iteration # Threads: 1 thread, will synchronize iterations # Benchmark mode: Throughput, ops/time # Benchmark: org.openjdk.MeasureTimeString.test # Parameters: (count = 256, size = 10) # Run progress: 0.00% complete, ETA 00:00:40 # Fork: 1 of 1 # Preparing profilers: perfasm # Profilers consume stdout and stderr from target VM, use -v EXTRA to copy to console # Warmup Iteration 1: 1861.949 ops/s # Warmup Iteration 2: 1923.839 ops/s # Warmup Iteration 3: 1930.700 ops/s # Warmup Iteration 4: 1787.455 ops/s # Warmup Iteration 5: 1930.804 ops/s # Warmup Iteration 6: 1873.287 ops/s # Warmup Iteration 7: 1911.059 ops/s # Warmup Iteration 8: 1926.285 ops/s # Warmup Iteration 9: 1906.187 ops/s # Warmup Iteration 10: 1904.773 ops/s # Warmup Iteration 11: 1920.549 ops/s # Warmup Iteration 12: 1936.596 ops/s # Warmup Iteration 13: 1938.024 ops/s # Warmup Iteration 14: 1926.173 ops/s # Warmup Iteration 15: 1939.086 ops/s # Warmup Iteration 16: 1939.961 ops/s # Warmup Iteration 17: 1934.669 ops/s # Warmup Iteration 18: 1891.766 ops/s # Warmup Iteration 19: 1942.961 ops/s # Warmup Iteration 20: 1943.259 ops/s Iteration 1: 1947.742 ops/s Iteration 2: 1953.737 ops/s Iteration 3: 1939.846 ops/s Iteration 4: 1935.213 ops/s Iteration 5: 1943.674 ops/s Iteration 6: 1937.698 ops/s Iteration 7: 1950.893 ops/s Iteration 8: 1946.470 ops/s Iteration 9: 1775.999 ops/s Iteration 10: 1856.838 ops/s Iteration 11: 1952.412 ops/s Iteration 12: 1945.102 ops/s Iteration 13: 1944.679 ops/s Iteration 14: 1921.076 ops/s Iteration 15: 1934.471 ops/s Iteration 16: 1946.806 ops/s Iteration 17: 1944.355 ops/s Iteration 18: 1952.376 ops/s Iteration 19: 1950.993 ops/s Iteration 20: 1951.246 ops/s # Processing profiler results: perfasm Result: 1931.581 ±(99.9%) 36.680 ops/s [Average] Statistics: (min, avg, max) = (1775.999, 1931.581, 1953.737), stdev = 42.241 Confidence interval (99.9%): [1894.901, 1968.262] PrintAssembly processed: 126058 total address lines. Perf output processed (skipped 21.000 seconds): Column 1: cycles (21464 events) Column 2: instructions (21471 events) Hottest code regions (>10.00% "cycles" events): ....[Hottest Region 1].............................................................................. [0x7f8a3fc4a6e0:0x7f8a3fc4a740] in org.openjdk.MeasureTimeString::kernel; java.io.ObjectStreamClass$WeakClassKey::hashCode Decoding compiled method 0x00007f8a3fc4a590: Code: [Entry Point] [Verified Entry Point] [Constants] # {method} {0x00007f8a36562d48} 'kernel' '(Ljava/lang/String;Ljava/lang/String;)I' in 'org/openjdk/MeasureTimeString' # parm0: rsi:rsi = 'java/lang/String' # parm1: rdx:rdx = 'java/lang/String' # [sp+0x20] (sp of caller) 4.29% 2.86% 0x00007f8a3fc4a6e0: mov %eax,-0x14000(%rsp) 0.68% 0.61% 0x00007f8a3fc4a6e7: push %rbp 0.02% 0.02% 0x00007f8a3fc4a6e8: sub $0x10,%rsp ;*synchronization entry ; - org.openjdk.MeasureTimeString::kernel@-1 (line 56) 3.98% 2.74% 0x00007f8a3fc4a6ec: mov 0xc(%rsi),%r11d ; implicit exception: dispatches to 0x00007f8a3fc4a819 0.68% 1.28% 0x00007f8a3fc4a6f0: mov 0xc(%rdx),%r10d ; implicit exception: dispatches to 0x00007f8a3fc4a82d 2.25% 2.27% 0x00007f8a3fc4a6f4: mov 0xc(%r12,%r10,8),%edx 14.46% 15.70% 0x00007f8a3fc4a6f9: mov 0xc(%r12,%r11,8),%ecx 0.19% 0.18% 0x00007f8a3fc4a6fe: lea (%r12,%r10,8),%r8 0.37% 0.43% 0x00007f8a3fc4a702: lea 0x10(%r12,%r10,8),%rsi 0.00% 0x00007f8a3fc4a707: lea (%r12,%r11,8),%r10 4.33% 3.90% 0x00007f8a3fc4a70b: lea 0x10(%r12,%r11,8),%rdi 0.05% 0.08% 0x00007f8a3fc4a710: mov %ecx,%eax 0.41% 0.47% 0x00007f8a3fc4a712: sub %edx,%ecx 3.11% 2.52% 0x00007f8a3fc4a714: push %rcx 4.53% 3.89% 0x00007f8a3fc4a715: cmovle %eax,%edx 3.50% 4.28% 0x00007f8a3fc4a718: test %edx,%edx 0x00007f8a3fc4a71a: je 0x00007f8a3fc4a809 3.62% 3.53% 0x00007f8a3fc4a720: movzwl (%rdi),%eax 1.01% 0.62% 0x00007f8a3fc4a723: movzwl (%rsi),%ecx 0.24% 0.41% 0x00007f8a3fc4a726: sub %ecx,%eax 0x00007f8a3fc4a728: jne 0x00007f8a3fc4a80c 0.33% 0.34% 0x00007f8a3fc4a72e: cmp $0x1,%edx 0x00007f8a3fc4a731: je 0x00007f8a3fc4a809 0.24% 0.16% 0x00007f8a3fc4a737: cmp %rsi,%rdi 0x00007f8a3fc4a73a: je 0x00007f8a3fc4a809 0.06% 0.03% 0x00007f8a3fc4a740: mov %edx,%eax 0x00007f8a3fc4a742: and $0xfffffff0,%edx 0x00007f8a3fc4a745: je 0x00007f8a3fc4a7c5 0x00007f8a3fc4a74b: vmovdqu (%rdi),%xmm0 0x00007f8a3fc4a74f: vpcmpestri $0x19,(%rsi),%xmm0 0x00007f8a3fc4a755: jb 0x00007f8a3fc4a768 0x00007f8a3fc4a757: vmovdqu 0x10(%rdi),%xmm0 0x00007f8a3fc4a75c: vpcmpestri $0x19,0x10(%rsi),%xmm0 0x00007f8a3fc4a763: jae 0x00007f8a3fc4a777 0x00007f8a3fc4a765: add $0x8,%ecx 0.05% 0.01% 0x00007f8a3fc4a768: movzwl (%rdi,%rcx,2),%eax .................................................................................................... 48.34% 46.32% ....[Hottest Region 2].............................................................................. [0x7f8a3fc4be70:0x7f8a3fc4bf17] in org.openjdk.MeasureTimeString::test 0x00007f8a3fc4be4e: mov %r10d,%r8d 0x00007f8a3fc4be51: dec %r8d 0x00007f8a3fc4be54: cmp %r10d,%r8d 0x00007f8a3fc4be57: jae 0x00007f8a3fc4bf6d ;*aload_2 ; - org.openjdk.MeasureTimeString::test@17 (line 47) 0x00007f8a3fc4be5d: lea (%r12,%r9,8),%rsi ;*getfield a1 ; - org.openjdk.MeasureTimeString::test@1 (line 47) 0x00007f8a3fc4be61: xor %edi,%edi 0x00007f8a3fc4be63: jmp 0x00007f8a3fc4bec3 0x00007f8a3fc4be65: data16 data16 nopw 0x0(%rax,%rax,1) 4.34% 3.64% 0x00007f8a3fc4be70: mov 0x8(%rsp),%rbx ;*aload ; - org.openjdk.MeasureTimeString::test@44 (line 48) 0x00007f8a3fc4be75: mov 0x10(%rbx,%rbp,4),%r11d 0.70% 1.14% 0x00007f8a3fc4be7a: mov %rbx,0x8(%rsp) 0.01% 0x00007f8a3fc4be7f: mov %r11,%rdx 4.14% 3.55% 0x00007f8a3fc4be82: shl $0x3,%rdx ;*aaload ; - org.openjdk.MeasureTimeString::test@48 (line 48) 0.00% 0.03% 0x00007f8a3fc4be86: mov 0x38(%rsp),%rsi 0.78% 1.18% 0x00007f8a3fc4be8b: callq 0x00007f8a381af3e0 ; OopMap{[0]=Oop [8]=Oop [16]=Oop [24]=NarrowOop [32]=Oop [48]=NarrowOop [56]=Oop off=144} ;*invokestatic kernel ; - org.openjdk.MeasureTimeString::test@56 (line 49) ; {static_call} 0.66% 0.69% 0x00007f8a3fc4be90: mov (%rsp),%rsi 0.61% 0.57% 0x00007f8a3fc4be94: mov %eax,%edx 3.53% 3.63% 0x00007f8a3fc4be96: nop 0.68% 0.33% 0x00007f8a3fc4be97: callq 0x00007f8a381aefe0 ; OopMap{[0]=Oop [8]=Oop [16]=Oop [24]=NarrowOop [32]=Oop [48]=NarrowOop [56]=Oop off=156} ;*invokevirtual consume ; - org.openjdk.MeasureTimeString::test@59 (line 49) ; {optimized virtual_call} 4.03% 4.17% 0x00007f8a3fc4be9c: inc %ebp ;*iinc ; - org.openjdk.MeasureTimeString::test@62 (line 48) 0.64% 0.52% 0x00007f8a3fc4be9e: cmp 0x2c(%rsp),%ebp 0x00007f8a3fc4bea2: jl 0x00007f8a3fc4be70 0.01% 0.01% 0x00007f8a3fc4bea4: mov 0x10(%rsp),%rdx 0.05% 0.02% 0x00007f8a3fc4bea9: mov 0x18(%rsp),%r9d 0.00% 0x00007f8a3fc4beae: mov 0x1c(%rsp),%r10d 0.01% 0.01% 0x00007f8a3fc4beb3: mov 0x20(%rsp),%rsi 0x00007f8a3fc4beb8: mov 0x28(%rsp),%edi ;*if_icmpge ; - org.openjdk.MeasureTimeString::test@41 (line 48) 0.01% 0.00% 0x00007f8a3fc4bebc: inc %edi ;*iinc ; - org.openjdk.MeasureTimeString::test@68 (line 47) 0.01% 0.00% 0x00007f8a3fc4bebe: cmp %r10d,%edi 0x00007f8a3fc4bec1: jge 0x00007f8a3fc4bf25 ;*aload_2 ; - org.openjdk.MeasureTimeString::test@17 (line 47) 0.03% 0.01% 0x00007f8a3fc4bec3: mov 0x18(%rdx),%ebx ;*getfield a2 ; - org.openjdk.MeasureTimeString::test@24 (line 48) 0.13% 0.12% 0x00007f8a3fc4bec6: mov 0xc(%r12,%rbx,8),%r8d ;*arraylength ; - org.openjdk.MeasureTimeString::test@31 (line 48) ; implicit exception: dispatches to 0x00007f8a3fc4bf9b 0.26% 0.10% 0x00007f8a3fc4becb: test %r8d,%r8d 0x00007f8a3fc4bece: jle 0x00007f8a3fc4bebc ;*if_icmpge ; - org.openjdk.MeasureTimeString::test@41 (line 48) 0.00% 0.01% 0x00007f8a3fc4bed0: mov 0x10(%rsi,%rdi,4),%ecx ;*aaload ; - org.openjdk.MeasureTimeString::test@20 (line 47) 0x00007f8a3fc4bed4: test %r8d,%r8d 0x00007f8a3fc4bed7: jbe 0x00007f8a3fc4bf37 0.03% 0x00007f8a3fc4bed9: mov %r8d,%r11d 0x00007f8a3fc4bedc: dec %r11d 0x00007f8a3fc4bedf: cmp %r8d,%r11d 0x00007f8a3fc4bee2: jae 0x00007f8a3fc4bf31 0.01% 0x00007f8a3fc4bee4: mov (%rsp),%rax 0x00007f8a3fc4bee8: test %rax,%rax 0x00007f8a3fc4beeb: je 0x00007f8a3fc4bf3b ;*aload ; - org.openjdk.MeasureTimeString::test@44 (line 48) 0x00007f8a3fc4beed: mov %rcx,%r11 0x00007f8a3fc4bef0: shl $0x3,%r11 ;*aaload ; - org.openjdk.MeasureTimeString::test@20 (line 47) 0.01% 0x00007f8a3fc4bef4: shl $0x3,%rbx ;*getfield a2 ; - org.openjdk.MeasureTimeString::test@24 (line 48) 0x00007f8a3fc4bef8: xor %ebp,%ebp 0x00007f8a3fc4befa: mov %rdx,0x10(%rsp) 0x00007f8a3fc4beff: mov %r9d,0x18(%rsp) 0.02% 0x00007f8a3fc4bf04: mov %r10d,0x1c(%rsp) 0x00007f8a3fc4bf09: mov %rsi,0x20(%rsp) 0x00007f8a3fc4bf0e: mov %edi,0x28(%rsp) 0x00007f8a3fc4bf12: mov %r8d,0x2c(%rsp) 0.02% 0.01% 0x00007f8a3fc4bf17: mov %ecx,0x30(%rsp) 0x00007f8a3fc4bf1b: mov %r11,0x38(%rsp) 0x00007f8a3fc4bf20: jmpq 0x00007f8a3fc4be75 ;*if_icmpge ; - org.openjdk.MeasureTimeString::test@14 (line 47) 0x00007f8a3fc4bf25: add $0x50,%rsp 0x00007f8a3fc4bf29: pop %rbp 0x00007f8a3fc4bf2a: test %eax,0xe5360d0(%rip) # 0x00007f8a4e182000 ; {poll_return} 0x00007f8a3fc4bf30: retq 0x00007f8a3fc4bf31: mov (%rsp),%rax 0x00007f8a3fc4bf35: jmp 0x00007f8a3fc4bf3b .................................................................................................... 20.74% 19.75% ....[Hottest Region 3].............................................................................. [0x7f8a3fc4b080:0x7f8a3fc4b0af] in org.openjdk.jmh.infra.Blackhole::consume # parm0: rdx = int # [sp+0x30] (sp of caller) 0x00007f8a3fc4b060: mov 0x8(%rsi),%r10d 0x00007f8a3fc4b064: shl $0x3,%r10 0x00007f8a3fc4b068: cmp %r10,%rax 0x00007f8a3fc4b06b: jne 0x00007f8a381aede0 ; {runtime_call} 0x00007f8a3fc4b071: data16 xchg %ax,%ax 0x00007f8a3fc4b074: nopl 0x0(%rax,%rax,1) 0x00007f8a3fc4b07c: data16 data16 xchg %ax,%ax [Verified Entry Point] 0.55% 0.62% 0x00007f8a3fc4b080: mov %eax,-0x14000(%rsp) 4.12% 5.18% 0x00007f8a3fc4b087: push %rbp 0.04% 0.00% 0x00007f8a3fc4b088: sub $0x20,%rsp ;*synchronization entry ; - org.openjdk.jmh.infra.Blackhole::consume@-1 (line 378) 3.92% 4.59% 0x00007f8a3fc4b08c: mov 0xb0(%rsi),%r11d ;*getfield i1 ; - org.openjdk.jmh.infra.Blackhole::consume@1 (line 378) 0.59% 0.78% 0x00007f8a3fc4b093: mov 0xb8(%rsi),%r10d ;*getfield i2 ; - org.openjdk.jmh.infra.Blackhole::consume@6 (line 379) 0.06% 0x00007f8a3fc4b09a: cmp %r11d,%edx 0x00007f8a3fc4b09d: je 0x00007f8a3fc4b0b0 ;*if_icmpne ; - org.openjdk.jmh.infra.Blackhole::consume@12 (line 380) 0.56% 0.46% 0x00007f8a3fc4b09f: cmp %r10d,%edx 0x00007f8a3fc4b0a2: je 0x00007f8a3fc4b0d1 ;*if_icmpne ; - org.openjdk.jmh.infra.Blackhole::consume@22 (line 380) 3.55% 3.33% 0x00007f8a3fc4b0a4: add $0x20,%rsp 0.61% 0.72% 0x00007f8a3fc4b0a8: pop %rbp 0.05% 0.00% 0x00007f8a3fc4b0a9: test %eax,0xe536f51(%rip) # 0x00007f8a4e182000 ; {poll_return} 0.51% 0.51% 0x00007f8a3fc4b0af: retq 0x00007f8a3fc4b0b0: mov %rsi,%rbp 0x00007f8a3fc4b0b3: mov %r10d,0x4(%rsp) 0x00007f8a3fc4b0b8: mov %edx,0x8(%rsp) 0x00007f8a3fc4b0bc: mov %r11d,0xc(%rsp) 0x00007f8a3fc4b0c1: mov $0xffffff5d,%esi 0x00007f8a3fc4b0c6: nop 0x00007f8a3fc4b0c7: callq 0x00007f8a381b06e0 ; OopMap{rbp=Oop off=108} ;*if_icmpne ; - org.openjdk.jmh.infra.Blackhole::consume@12 (line 380) .................................................................................................... 14.54% 16.21% ....[Hottest Region 4].............................................................................. [0x7f8a3fc4a80c:0x7f8a3fc4a818] in org.openjdk.MeasureTimeString::kernel 0x00007f8a3fc4a7f3: dec %edx 0x00007f8a3fc4a7f5: neg %rdx 0x00007f8a3fc4a7f8: movzwl (%rdi,%rdx,2),%eax 0x00007f8a3fc4a7fc: movzwl (%rsi,%rdx,2),%ecx 0x00007f8a3fc4a800: sub %ecx,%eax 0x00007f8a3fc4a802: jne 0x00007f8a3fc4a80c 0x00007f8a3fc4a804: inc %rdx 0x00007f8a3fc4a807: jne 0x00007f8a3fc4a7f8 0x00007f8a3fc4a809: pop %rax 0x00007f8a3fc4a80a: jmp 0x00007f8a3fc4a80d 3.19% 4.26% 0x00007f8a3fc4a80c: pop %rcx 4.82% 5.53% 0x00007f8a3fc4a80d: add $0x10,%rsp 0.62% 0.77% 0x00007f8a3fc4a811: pop %rbp 0.54% 0.71% 0x00007f8a3fc4a812: test %eax,0xe5377e8(%rip) # 0x00007f8a4e182000 ; {poll_return} 3.49% 3.75% 0x00007f8a3fc4a818: retq 0x00007f8a3fc4a819: mov $0xfffffff6,%esi 0x00007f8a3fc4a81e: mov %rdx,%rbp 0x00007f8a3fc4a821: xchg %ax,%ax 0x00007f8a3fc4a823: callq 0x00007f8a381b06e0 ; OopMap{rbp=Oop off=328} ;*invokevirtual compareTo ; - org.openjdk.MeasureTimeString::kernel@2 (line 56) ; {runtime_call} 0x00007f8a3fc4a828: callq 0x00007f8a4cebd710 ; {runtime_call} 0x00007f8a3fc4a82d: mov %rsi,%rbp .................................................................................................... 12.65% 15.03% ....[Hottest Regions]............................................................................... 48.34% 46.32% [0x7f8a3fc4a6e0:0x7f8a3fc4a740] in org.openjdk.MeasureTimeString::kernel; java.io.ObjectStreamClass$WeakClassKey::hashCode 20.74% 19.75% [0x7f8a3fc4be70:0x7f8a3fc4bf17] in org.openjdk.MeasureTimeString::test 14.54% 16.21% [0x7f8a3fc4b080:0x7f8a3fc4b0af] in org.openjdk.jmh.infra.Blackhole::consume 12.65% 15.03% [0x7f8a3fc4a80c:0x7f8a3fc4a818] in org.openjdk.MeasureTimeString::kernel 1.13% 0.90% [0x0:0x0] in 0.85% 0.22% [0x7f8a3fc4a7c5:0x7f8a3fc4a7d6] in org.openjdk.MeasureTimeString::kernel 0.25% 0.06% [0x7f8a3fc4a768:0x7f8a3fc4a772] in org.openjdk.MeasureTimeString::kernel 0.04% 0.02% [0x7f8a4d069316:0x7f8a4d06935c] in xmlStream::write_text(char const*, unsigned long) (libjvm.so) 0.03% 0.06% [0x7f8a4ceca800:0x7f8a4ceca817] in fileStream::write(char const*, unsigned long) (libjvm.so) 0.03% 0.05% [0x7f8a4cecb0c1:0x7f8a4cecb107] in outputStream::update_position(char const*, unsigned long) (libjvm.so) 0.03% 0.03% [0x7f8a4da73409:0x7f8a4da7341d] in __GI___libc_write (libc-2.19.so) 0.03% 0.01% [0x7f8a4d9f6a45:0x7f8a4d9f6a45] in _IO_fwrite (libc-2.19.so) 0.02% 0.03% [0x7f8a4d5723f0:0x7f8a4d57242c] in pthread_getspecific (libpthread-2.19.so) 0.02% 0.00% [0x7f8a4cb92946:0x7f8a4cb9295b] in decode_env::handle_event(char const*, unsigned char*) (libjvm.so) 0.02% 0.02% [0x7f8a4cc530bb:0x7f8a4cc53118] in IndexSetIterator::advance_and_next() (libjvm.so) 0.02% 0.01% [0x7f8a4cc5322a:0x7f8a4cc53250] in IndexSetIterator::advance_and_next() (libjvm.so) 0.02% 0.01% [0x7f8a4d069440:0x7f8a4d06945e] in xmlStream::write_text(char const*, unsigned long) (libjvm.so) 0.02% 0.01% [0x7f8a4d9d10d9:0x7f8a4d9d10ed] in vfprintf (libc-2.19.so) 0.02% 0.03% [0x7f8a4da032fd:0x7f8a4da03300] in _IO_default_xsputn (libc-2.19.so) 0.02% 0.02% [0x7f8a4da8fd00:0x7f8a4da8fd1f] in __libc_enable_asynccancel (libc-2.19.so) 1.17% 1.19% <...other 366 warm regions...> .................................................................................................... 99.99% 100.00% ....[Hottest Methods (after inlining)].............................................................. 48.34% 46.32% org.openjdk.MeasureTimeString::kernel; java.io.ObjectStreamClass$WeakClassKey::hashCode 20.74% 19.75% org.openjdk.MeasureTimeString::test 14.54% 16.21% org.openjdk.jmh.infra.Blackhole::consume 13.76% 15.30% org.openjdk.MeasureTimeString::kernel 1.13% 0.90% 0.08% 0.06% IndexSetIterator::advance_and_next() (libjvm.so) 0.07% 0.12% vfprintf (libc-2.19.so) 0.06% 0.04% xmlStream::write_text(char const*, unsigned long) (libjvm.so) 0.06% 0.06% _IO_fwrite (libc-2.19.so) 0.04% 0.05% _IO_default_xsputn (libc-2.19.so) 0.04% 0.00% decode_env::handle_event(char const*, unsigned char*) (libjvm.so) 0.03% 0.03% __GI___libc_write (libc-2.19.so) 0.03% 0.05% outputStream::update_position(char const*, unsigned long) (libjvm.so) 0.03% 0.02% print_insn (libhsdis-amd64.so) 0.03% 0.07% fileStream::write(char const*, unsigned long) (libjvm.so) 0.02% 0.03% pthread_getspecific (libpthread-2.19.so) 0.02% 0.01% PhaseChaitin::gather_lrg_masks(bool) [clone .constprop.215] (libjvm.so) 0.02% 0.02% __libc_enable_asynccancel (libc-2.19.so) 0.02% 0.02% PhaseChaitin::interfere_with_live(unsigned int, IndexSet*) (libjvm.so) 0.02% 0.01% PhaseIFG::Compute_Effective_Degree() (libjvm.so) 0.92% 0.48% <...other 152 warm methods...> .................................................................................................... 99.99% 99.57% ....[Distribution by Area].......................................................................... 97.46% 97.66% 1.13% 0.90% 0.92% 0.92% 0.35% 0.42% 0.08% 0.04% 0.04% 0.05% 0.01% .................................................................................................... 99.99% 100.00% # Run complete. Total time: 00:00:43 Benchmark (count) (size) Mode Cnt Score Error Units MeasureTimeString.test 256 10 thrpt 20 1931.581 ± 36.680 ops/s MeasureTimeString.test:@asm 256 10 thrpt 1 NaN ± NaN ---