# JMH 1.15 (released 26 days ago) # VM version: JDK 1.8.0_101, VM 25.101-b13 # VM invoker: /usr/lib/jvm/java-8-oracle/jre/bin/java # VM options: -Dcsv.dir=/home/aroger/volatile # 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: Sampling time # Benchmark: org.github.arnaudroger.Csv1Benchmark.parseCsv # 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: 4.232 s/op # Warmup Iteration 2: 0.863 s/op # Warmup Iteration 3: 0.694 s/op # Warmup Iteration 4: 0.760 s/op # Warmup Iteration 5: 0.688 s/op # Warmup Iteration 6: 0.840 s/op # Warmup Iteration 7: 0.707 s/op # Warmup Iteration 8: 0.687 s/op # Warmup Iteration 9: 0.686 s/op # Warmup Iteration 10: 0.689 s/op Iteration 1: 0.765 s/op parseCsv·p0.00: 0.690 s/op parseCsv·p0.50: 0.765 s/op parseCsv·p0.90: 0.840 s/op parseCsv·p0.95: 0.840 s/op parseCsv·p0.99: 0.840 s/op parseCsv·p0.999: 0.840 s/op parseCsv·p0.9999: 0.840 s/op parseCsv·p1.00: 0.840 s/op Iteration 2: 0.724 s/op parseCsv·p0.00: 0.686 s/op parseCsv·p0.50: 0.724 s/op parseCsv·p0.90: 0.762 s/op parseCsv·p0.95: 0.762 s/op parseCsv·p0.99: 0.762 s/op parseCsv·p0.999: 0.762 s/op parseCsv·p0.9999: 0.762 s/op parseCsv·p1.00: 0.762 s/op Iteration 3: 0.690 s/op parseCsv·p0.00: 0.685 s/op parseCsv·p0.50: 0.690 s/op parseCsv·p0.90: 0.695 s/op parseCsv·p0.95: 0.695 s/op parseCsv·p0.99: 0.695 s/op parseCsv·p0.999: 0.695 s/op parseCsv·p0.9999: 0.695 s/op parseCsv·p1.00: 0.695 s/op Iteration 4: 0.695 s/op parseCsv·p0.00: 0.684 s/op parseCsv·p0.50: 0.695 s/op parseCsv·p0.90: 0.707 s/op parseCsv·p0.95: 0.707 s/op parseCsv·p0.99: 0.707 s/op parseCsv·p0.999: 0.707 s/op parseCsv·p0.9999: 0.707 s/op parseCsv·p1.00: 0.707 s/op Iteration 5: 0.685 s/op parseCsv·p0.00: 0.685 s/op parseCsv·p0.50: 0.685 s/op parseCsv·p0.90: 0.686 s/op parseCsv·p0.95: 0.686 s/op parseCsv·p0.99: 0.686 s/op parseCsv·p0.999: 0.686 s/op parseCsv·p0.9999: 0.686 s/op parseCsv·p1.00: 0.686 s/op Iteration 6: 0.688 s/op parseCsv·p0.00: 0.683 s/op parseCsv·p0.50: 0.688 s/op parseCsv·p0.90: 0.693 s/op parseCsv·p0.95: 0.693 s/op parseCsv·p0.99: 0.693 s/op parseCsv·p0.999: 0.693 s/op parseCsv·p0.9999: 0.693 s/op parseCsv·p1.00: 0.693 s/op Iteration 7: 0.696 s/op parseCsv·p0.00: 0.692 s/op parseCsv·p0.50: 0.696 s/op parseCsv·p0.90: 0.700 s/op parseCsv·p0.95: 0.700 s/op parseCsv·p0.99: 0.700 s/op parseCsv·p0.999: 0.700 s/op parseCsv·p0.9999: 0.700 s/op parseCsv·p1.00: 0.700 s/op Iteration 8: 0.687 s/op parseCsv·p0.00: 0.683 s/op parseCsv·p0.50: 0.687 s/op parseCsv·p0.90: 0.691 s/op parseCsv·p0.95: 0.691 s/op parseCsv·p0.99: 0.691 s/op parseCsv·p0.999: 0.691 s/op parseCsv·p0.9999: 0.691 s/op parseCsv·p1.00: 0.691 s/op Iteration 9: 0.687 s/op parseCsv·p0.00: 0.685 s/op parseCsv·p0.50: 0.687 s/op parseCsv·p0.90: 0.689 s/op parseCsv·p0.95: 0.689 s/op parseCsv·p0.99: 0.689 s/op parseCsv·p0.999: 0.689 s/op parseCsv·p0.9999: 0.689 s/op parseCsv·p1.00: 0.689 s/op Iteration 10: 0.690 s/op parseCsv·p0.00: 0.687 s/op parseCsv·p0.50: 0.690 s/op parseCsv·p0.90: 0.693 s/op parseCsv·p0.95: 0.693 s/op parseCsv·p0.99: 0.693 s/op parseCsv·p0.999: 0.693 s/op parseCsv·p0.9999: 0.693 s/op parseCsv·p1.00: 0.693 s/op # Processing profiler results: LinuxPerfAsmProfiler Result "parseCsv": N = 20 mean = 0.701 ±(99.9%) 0.032 s/op Histogram, s/op: [0.600, 0.625) = 0 [0.625, 0.650) = 0 [0.650, 0.675) = 0 [0.675, 0.700) = 16 [0.700, 0.725) = 2 [0.725, 0.750) = 0 [0.750, 0.775) = 1 [0.775, 0.800) = 0 [0.800, 0.825) = 0 [0.825, 0.850) = 1 [0.850, 0.875) = 0 Percentiles, s/op: p(0.0000) = 0.683 s/op p(50.0000) = 0.689 s/op p(90.0000) = 0.757 s/op p(95.0000) = 0.836 s/op p(99.0000) = 0.840 s/op p(99.9000) = 0.840 s/op p(99.9900) = 0.840 s/op p(99.9990) = 0.840 s/op p(99.9999) = 0.840 s/op p(100.0000) = 0.840 s/op Secondary result "·asm": PrintAssembly processed: 273629 total address lines. Perf output processed (skipped 17.778 seconds): Column 1: cycles (18357 events) Column 2: instructions (18293 events) Hottest code regions (>10.00% "cycles" events): ....[Hottest Region 1].............................................................................. C2, level 4, org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer, version 573 (791 bytes) 0x00007efd9926fcbe: mov %r8d,0x18(%rsp) 0x00007efd9926fcc3: mov %r11d,0x1c(%rsp) 0x00007efd9926fcc8: data16 xchg %ax,%ax 0x00007efd9926fccb: callq 0x00007efd990051a0 ; OopMap{[0]=Oop [40]=Oop [80]=NarrowOop off=304} ;*ifne ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@155 (line 65) ; {runtime_call} 0x00007efd9926fcd0: callq 0x00007efdb06f40b0 ;*ifne ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@155 (line 65) ; {runtime_call} 0.50% 0.65% 0x00007efd9926fcd5: mov 0x20(%rsp),%r11 1.11% 1.66% 0x00007efd9926fcda: mov 0x18(%r11),%r11d ;*getfield _csvBuffer ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@3 (line 157) ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.67% 0.77% 0x00007efd9926fcde: mov 0x10(%r12,%r11,8),%r9d ;*getfield mark ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@6 (line 157) ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) ; implicit exception: dispatches to 0x00007efd9927047d 0.85% 0.83% 0x00007efd9926fce3: lea 0x10(%rbx,%r9,2),%rax ;*invokestatic arraycopy ; - java.util.Arrays::copyOfRange@57 (line 3665) ; - java.lang.String::<init>@75 (line 207) ; - org.github.arnaudroger.csv.StringArrayCellConsumer::newCell@19 (line 23) ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@46 (line 35) ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.89% 0.85% 0x00007efd9926fce8: cmp %r10d,%r9d ╭ 0x00007efd9926fceb: jge 0x00007efd9926fd05 ;*if_icmpge │ ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@10 (line 30) │ ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) │ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.08% 0.17% │ 0x00007efd9926fced: cmp (%rsp),%r9d │ 0x00007efd9926fcf1: jae 0x00007efd992702d0 0.04% 0.07% │ 0x00007efd9926fcf7: movzwl (%rax),%r8d ;*caload │ ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@16 (line 30) │ ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) │ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 2.02% 2.12% │ 0x00007efd9926fcfb: cmp $0x22,%r8d │ 0x00007efd9926fcff: je 0x00007efd992703e9 ;*aload │ ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@36 (line 35) │ ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) │ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.55% 0.55% ↘ 0x00007efd9926fd05: mov %r10d,%r8d 0.03% 0.04% 0x00007efd9926fd08: sub %r9d,%r8d ;*isub ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@45 (line 35) ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.02% 0.01% 0x00007efd9926fd0b: mov 0x28(%rsp),%rcx 0.08% 0.07% 0x00007efd9926fd10: mov 0x8(%rcx),%r11d ; implicit exception: dispatches to 0x00007efd9927048d 0.57% 0.53% 0x00007efd9926fd14: cmp $0xf8019315,%r11d ; {metadata('org/github/arnaudroger/csv/StringArrayCellConsumer')} 0x00007efd9926fd1b: jne 0x00007efd9927024d 0.02% 0.02% 0x00007efd9926fd21: mov %rbx,0x28(%rsp) 0.02% 0.03% 0x00007efd9926fd26: mov %rcx,%r11 ;*invokeinterface newCell ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@46 (line 35) ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.08% 0.10% 0x00007efd9926fd29: mov 0x10(%r11),%ebp ;*getfield currentIndex ; - org.github.arnaudroger.csv.StringArrayCellConsumer::ensureCapacity@1 (line 28) ; - org.github.arnaudroger.csv.StringArrayCellConsumer::newCell@1 (line 22) ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@46 (line 35) ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.54% 0.61% 0x00007efd9926fd2d: mov 0x14(%r11),%ebx ;*getfield currentLength ; - org.github.arnaudroger.csv.StringArrayCellConsumer::ensureCapacity@5 (line 28) ; - org.github.arnaudroger.csv.StringArrayCellConsumer::newCell@1 (line 22) ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@46 (line 35) ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.04% 0.03% 0x00007efd9926fd31: cmp %ebx,%ebp 0x00007efd9926fd33: jge 0x00007efd99270301 ;*if_icmplt ; - org.github.arnaudroger.csv.StringArrayCellConsumer::ensureCapacity@8 (line 28) ; - org.github.arnaudroger.csv.StringArrayCellConsumer::newCell@1 (line 22) ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@46 (line 35) ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.01% 0.02% 0x00007efd9926fd39: mov 0x60(%r15),%rbx 0.08% 0.11% 0x00007efd9926fd3d: mov 0x1c(%r11),%esi ;*getfield currentRow ; - org.github.arnaudroger.csv.StringArrayCellConsumer::newCell@5 (line 23) ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@46 (line 35) ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.64% 0.65% 0x00007efd9926fd41: mov %esi,0x80(%rsp) 0.07% 0.03% 0x00007efd9926fd48: mov %rbx,%rdx 0.02% 0.04% 0x00007efd9926fd4b: add $0x18,%rdx 0.10% 0.08% 0x00007efd9926fd4f: cmp 0x70(%r15),%rdx 0x00007efd9926fd53: jae 0x00007efd99270084 0.56% 0.53% 0x00007efd9926fd59: mov %rdx,0x60(%r15) 0.02% 0.04% 0x00007efd9926fd5d: prefetchnta 0xc0(%rdx) 0.03% 0.03% 0x00007efd9926fd64: mov 0x18(%rsp),%rdx 0.15% 0.07% 0x00007efd9926fd69: mov 0xa8(%rdx),%rdx 0.56% 0.56% 0x00007efd9926fd70: mov %rdx,(%rbx) 0.04% 0.05% 0x00007efd9926fd73: movl $0xf80002da,0x8(%rbx) ; {metadata('java/lang/String')} 0.01% 0.04% 0x00007efd9926fd7a: mov %r12d,0xc(%rbx) 0.14% 0.17% 0x00007efd9926fd7e: mov %r12,0x10(%rbx) ;*new ; - org.github.arnaudroger.csv.StringArrayCellConsumer::newCell@12 (line 23) ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@46 (line 35) ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.52% 0.61% 0x00007efd9926fd82: test %r9d,%r9d 0x00007efd9926fd85: jl 0x00007efd99270339 ;*ifge ; - java.lang.String::<init>@5 (line 191) ; - org.github.arnaudroger.csv.StringArrayCellConsumer::newCell@19 (line 23) ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@46 (line 35) ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.02% 0.05% 0x00007efd9926fd8b: test %r8d,%r8d ╭ 0x00007efd9926fd8e: jle 0x00007efd9926ffbd ;*iload_2 │ ; - java.lang.String::<init>@50 (line 204) │ ; - org.github.arnaudroger.csv.StringArrayCellConsumer::newCell@19 (line 23) │ ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@46 (line 35) │ ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) │ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.02% 0.06% │↗ 0x00007efd9926fd94: mov (%rsp),%edx 0.03% 0.04% ││ 0x00007efd9926fd97: sub %r8d,%edx ;*isub ││ ; - java.lang.String::<init>@54 (line 204) ││ ; - org.github.arnaudroger.csv.StringArrayCellConsumer::newCell@19 (line 23) ││ ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@46 (line 35) ││ ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) ││ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.47% 0.51% ││ 0x00007efd9926fd9a: cmp %edx,%r9d ││ 0x00007efd9926fd9d: jg 0x00007efd99270371 ;*if_icmple ││ ; - java.lang.String::<init>@55 (line 204) ││ ; - org.github.arnaudroger.csv.StringArrayCellConsumer::newCell@19 (line 23) ││ ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@46 (line 35) ││ ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) ││ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.02% 0.02% ││ 0x00007efd9926fda3: test %r8d,%r8d ││ 0x00007efd9926fda6: jl 0x00007efd992703ad ;*ifge ││ ; - java.util.Arrays::copyOfRange@5 (line 3662) ││ ; - java.lang.String::<init>@75 (line 207) ││ ; - org.github.arnaudroger.csv.StringArrayCellConsumer::newCell@19 (line 23) ││ ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@46 (line 35) ││ ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) ││ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.01% 0.01% ││ 0x00007efd9926fdac: cmp $0x80000,%r8d ││ 0x00007efd9926fdb3: ja 0x00007efd99270245 0.02% 0.02% ││ 0x00007efd9926fdb9: movslq %r8d,%r13 0.50% 0.51% ││ 0x00007efd9926fdbc: shl %r13 0.02% 0.05% ││ 0x00007efd9926fdbf: add $0x17,%r13 0.01% 0.01% ││ 0x00007efd9926fdc3: cmp $0x80000,%r8d ││ 0x00007efd9926fdca: ja 0x00007efd9927017d 0.01% 0.02% ││ 0x00007efd9926fdd0: mov 0x60(%r15),%r14 0.50% 0.48% ││ 0x00007efd9926fdd4: mov %r13,%rdx 0.02% 0.02% ││ 0x00007efd9926fdd7: and $0xfffffffffffffff8,%rdx 0.02% 0.02% ││ 0x00007efd9926fddb: mov %r14,%rsi 0.04% 0.04% ││ 0x00007efd9926fdde: add %rdx,%rsi 0.53% 0.39% ││ 0x00007efd9926fde1: cmp 0x70(%r15),%rsi ││ 0x00007efd9926fde5: jae 0x00007efd9927017d 0.01% 0.03% ││ 0x00007efd9926fdeb: mov %rsi,0x60(%r15) 0.01% 0.04% ││ 0x00007efd9926fdef: prefetchnta 0xc0(%rsi) 0.04% 0.05% ││ 0x00007efd9926fdf6: movq $0x1,(%r14) 0.51% 0.37% ││ 0x00007efd9926fdfd: prefetchnta 0x100(%rsi) 0.05% 0.05% ││ 0x00007efd9926fe04: movl $0xf8000041,0x8(%r14) ; {metadata({type array char})} 0.02% 0.04% ││ 0x00007efd9926fe0c: mov %r8d,0xc(%r14) 0.15% 0.28% ││ 0x00007efd9926fe10: prefetchnta 0x140(%rsi) 0.39% 0.50% ││ 0x00007efd9926fe17: prefetchnta 0x180(%rsi) 0.07% 0.03% ││ 0x00007efd9926fe1e: mov %rcx,0x8(%rsp) 0.02% 0.04% ││ 0x00007efd9926fe23: mov %edi,0x4(%rsp) 0.16% 0.14% ││ 0x00007efd9926fe27: mov %r10d,0x14(%rsp) 0.33% 0.28% ││ 0x00007efd9926fe2c: mov %r9d,0x30(%rsp) 0.03% 0.03% ││ 0x00007efd9926fe31: mov %rax,0x38(%rsp) 0.02% 0.02% ││ 0x00007efd9926fe36: mov %r8d,0x34(%rsp) 0.18% 0.05% ││ 0x00007efd9926fe3b: mov %r11,0x40(%rsp) 0.35% 0.16% ││ 0x00007efd9926fe40: mov %ebp,0x48(%rsp) 0.05% 0.03% ││ 0x00007efd9926fe44: mov %rbx,0x58(%rsp) 0.07% 0.03% ││ 0x00007efd9926fe49: mov %r13,0x60(%rsp) ;*newarray ││ ; - java.util.Arrays::copyOfRange@40 (line 3664) ││ ; - java.lang.String::<init>@75 (line 207) ││ ; - org.github.arnaudroger.csv.StringArrayCellConsumer::newCell@19 (line 23) ││ ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@46 (line 35) ││ ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) ││ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.20% 0.07% ││ 0x00007efd9926fe4e: mov (%rsp),%r11d 0.31% 0.17% ││ 0x00007efd9926fe52: sub 0x30(%rsp),%r11d ;*isub ││ ; - java.util.Arrays::copyOfRange@52 (line 3665) ││ ; - java.lang.String::<init>@75 (line 207) ││ ; - org.github.arnaudroger.csv.StringArrayCellConsumer::newCell@19 (line 23) ││ ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@46 (line 35) ││ ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) ││ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.14% 0.05% ││ 0x00007efd9926fe57: mov %r14,%r10 0.04% 0.03% ││ 0x00007efd9926fe5a: add $0x10,%r10 ;*invokestatic arraycopy ││ ; - java.util.Arrays::copyOfRange@57 (line 3665) ││ ; - java.lang.String::<init>@75 (line 207) ││ ; - org.github.arnaudroger.csv.StringArrayCellConsumer::newCell@19 (line 23) ││ ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@46 (line 35) ││ ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) ││ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.13% 0.09% ││ 0x00007efd9926fe5e: mov %r10,%rbx 0.34% 0.04% ││ 0x00007efd9926fe61: mov %r14,0x68(%rsp) 0.08% 0.04% ││ 0x00007efd9926fe66: cmp 0x34(%rsp),%r11d 0.16% 0.09% ││ 0x00007efd9926fe6b: mov 0x34(%rsp),%r9d 0.09% 0.06% ││ 0x00007efd9926fe70: cmovl %r11d,%r9d ;*invokestatic min ││ ; - java.util.Arrays::copyOfRange@54 (line 3666) ││ ; - java.lang.String::<init>@75 (line 207) ││ ; - org.github.arnaudroger.csv.StringArrayCellConsumer::newCell@19 (line 23) ││ ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@46 (line 35) ││ ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) ││ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.70% 0.50% ││ 0x00007efd9926fe74: mov %r9d,%r11d 0.03% 0.04% ││ 0x00007efd9926fe77: add 0x30(%rsp),%r11d 0.38% 0.56% ││ 0x00007efd9926fe7c: mov 0x60(%rsp),%r10 0.15% 0.21% ││ 0x00007efd9926fe81: shr $0x3,%r10 0.11% 0.13% ││ 0x00007efd9926fe85: mov %r10,%rcx 0.02% 0.01% ││ 0x00007efd9926fe88: add $0xfffffffffffffffe,%rcx 0.47% 0.56% ││ 0x00007efd9926fe8c: mov (%rsp),%r8d 0.11% 0.17% ││ 0x00007efd9926fe90: cmp %r11d,%r8d ││ 0x00007efd9926fe93: jb 0x00007efd99270291 0.02% 0.07% ││ 0x00007efd9926fe99: mov 0x34(%rsp),%ebp 0.01% 0.01% ││ 0x00007efd9926fe9d: cmp %r9d,%ebp ││ 0x00007efd9926fea0: jb 0x00007efd99270291 0.40% 0.48% ││ 0x00007efd9926fea6: test %r9d,%r9d ││ 0x00007efd9926fea9: jle 0x00007efd992702b9 0.12% 0.21% ││ 0x00007efd9926feaf: movslq %r9d,%rdx 0.05% 0.04% ││ 0x00007efd9926feb2: cmp 0x34(%rsp),%r9d ││ 0x00007efd9926feb7: jl 0x00007efd99270041 0.02% 0.08% ││ 0x00007efd9926febd: mov 0x38(%rsp),%rdi 0.38% 0.44% ││ 0x00007efd9926fec2: mov %rbx,%rsi 0.14% 0.14% ││ 0x00007efd9926fec5: movabs $0x7efd99052580,%r10 0.02% 0.04% ││ 0x00007efd9926fecf: callq *%r10 ;*invokestatic arraycopy ││ ; - java.util.Arrays::copyOfRange@57 (line 3665) ││ ; - java.lang.String::<init>@75 (line 207) ││ ; - org.github.arnaudroger.csv.StringArrayCellConsumer::newCell@19 (line 23) ││ ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@46 (line 35) ││ ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) ││ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.32% 0.35% ││ 0x00007efd9926fed2: mov 0x68(%rsp),%r10 0.10% 0.11% ││ 0x00007efd9926fed7: mov %r10,%r11 0.19% 0.20% ││ 0x00007efd9926feda: shr $0x3,%r11 0.28% 0.31% ││ 0x00007efd9926fede: mov 0x58(%rsp),%rbx 0.02% 0.05% ││ 0x00007efd9926fee3: mov %r11d,0xc(%rbx) 0.18% 0.14% ││ 0x00007efd9926fee7: mov %rbx,%r10 0.14% 0.25% ││ 0x00007efd9926feea: shr $0x9,%r10 0.23% 0.26% ││ 0x00007efd9926feee: movabs $0x7efdaa45e000,%r11 0.03% 0.04% ││ 0x00007efd9926fef8: mov %r12b,(%r11,%r10,1) ;*putfield value ││ ; - java.lang.String::<init>@78 (line 207) ││ ; - org.github.arnaudroger.csv.StringArrayCellConsumer::newCell@19 (line 23) ││ ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@46 (line 35) ││ ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) ││ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.18% 0.19% ││ 0x00007efd9926fefc: mov 0x8(%rsp),%rcx 0.23% 0.17% ││ 0x00007efd9926ff01: mov 0x4(%rsp),%edi 0.21% 0.20% ││ 0x00007efd9926ff05: mov 0x14(%rsp),%r10d 0.07% 0.05% ││ 0x00007efd9926ff0a: mov 0x40(%rsp),%r11 0.21% 0.15% ││ 0x00007efd9926ff0f: mov 0x48(%rsp),%ebp ;*synchronization entry ││ ; - org.github.arnaudroger.csv.StringArrayCellConsumer::newCell@-1 (line 22) ││ ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@46 (line 35) ││ ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) ││ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.29% 0.15% ││↗ 0x00007efd9926ff13: mov 0x80(%rsp),%r8d 0.21% 0.25% │││ 0x00007efd9926ff1b: mov 0xc(%r12,%r8,8),%r9d ; implicit exception: dispatches to 0x00007efd992704a5 0.15% 0.19% │││ 0x00007efd9926ff20: cmp %r9d,%ebp │││ 0x00007efd9926ff23: jae 0x00007efd99270215 ;*aastore │││ ; - org.github.arnaudroger.csv.StringArrayCellConsumer::newCell@22 (line 23) │││ ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@46 (line 35) │││ ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) │││ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.28% 0.31% │││ 0x00007efd9926ff29: incl 0x10(%r11) ;*putfield currentIndex │││ ; - org.github.arnaudroger.csv.StringArrayCellConsumer::newCell@30 (line 24) │││ ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@46 (line 35) │││ ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) │││ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.58% 0.58% │││ 0x00007efd9926ff2d: mov 0x20(%rsp),%r10 0.17% 0.25% │││ 0x00007efd9926ff32: mov 0x18(%r10),%r8d ;*getfield _csvBuffer │││ ; - org.github.arnaudroger.csv.orig.CharConsumer::startNextCell@1 (line 162) │││ ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@16 (line 158) │││ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.24% 0.18% │││ 0x00007efd9926ff36: mov 0x80(%rsp),%r10d 0.37% 0.33% │││ 0x00007efd9926ff3e: shl $0x3,%r10 ;*getfield currentRow │││ ; - org.github.arnaudroger.csv.StringArrayCellConsumer::newCell@5 (line 23) │││ ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@46 (line 35) │││ ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) │││ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.04% 0.08% │││ 0x00007efd9926ff42: lea 0x10(%r10,%rbp,4),%r11 0.29% 0.26% │││ 0x00007efd9926ff47: mov %rbx,%r10 0.17% 0.13% │││ 0x00007efd9926ff4a: shr $0x3,%r10 0.19% 0.24% │││ 0x00007efd9926ff4e: mov %r10d,(%r11) 1.01% 0.79% │││ 0x00007efd9926ff51: mov %r11,%r10 0.12% 0.05% │││ 0x00007efd9926ff54: shr $0x9,%r10 0.14% 0.09% │││ 0x00007efd9926ff58: movabs $0x7efdaa45e000,%r11 0.14% 0.10% │││ 0x00007efd9926ff62: mov %r12b,(%r11,%r10,1) ;*aastore │││ ; - org.github.arnaudroger.csv.StringArrayCellConsumer::newCell@22 (line 23) │││ ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@46 (line 35) │││ ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) │││ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.33% 0.34% │││ 0x00007efd9926ff66: mov %edi,0x10(%r12,%r8,8) ;*putfield mark │││ ; - org.github.arnaudroger.csv.orig.CharConsumer::startNextCell@7 (line 162) │││ ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@16 (line 158) │││ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) │││ ; implicit exception: dispatches to 0x00007efd992704b9 0.22% 0.16% │││ 0x00007efd9926ff6b: mov $0x4,%ebp 0.13% 0.08% │││ 0x00007efd9926ff70: mov 0x28(%rsp),%rbx 0.13% 0.10% │││ 0x00007efd9926ff75: jmpq 0x00007efd9926fc48 0.05% 0.11% │││ 0x00007efd9926ff7a: and $0x2,%ebp ;*iand │││ ; - org.github.arnaudroger.csv.orig.CharConsumer::lastCharWasNotCr@2 (line 187) │││ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@89 (line 50) 0.18% 0.14% │││ 0x00007efd9926ff7d: test %ebp,%ebp 0.01% │││ 0x00007efd9926ff7f: jne 0x00007efd99270421 ;*ifne │││ ; - org.github.arnaudroger.csv.orig.CharConsumer::lastCharWasNotCr@3 (line 187) │││ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@89 (line 50) 0.05% 0.11% │││ 0x00007efd9926ff85: mov %r10d,%ebp 0.03% 0.05% │││ 0x00007efd9926ff88: mov %rbx,0x8(%rsp) 0.08% 0.13% │││ 0x00007efd9926ff8d: mov %edi,0x4(%rsp) 0.02% 0.06% │││ 0x00007efd9926ff91: mov 0x20(%rsp),%rsi 0.13% 0.11% │││ 0x00007efd9926ff96: mov %rbx,%rdx 0.02% 0.04% │││ 0x00007efd9926ff99: mov %r10d,%ecx 0.02% 0.03% │││ 0x00007efd9926ff9c: mov 0x28(%rsp),%r8 0.02% 0.01% │││ 0x00007efd9926ffa1: xchg %ax,%ax 0.04% 0.02% │││ 0x00007efd9926ffa3: callq 0x00007efd99046020 ; OopMap{[8]=Oop [32]=Oop [40]=Oop [80]=NarrowOop off=1032} │││ ;*invokespecial endOfRow │││ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@100 (line 51) │││ ; {optimized virtual_call} 0.09% 0.03% │││ 0x00007efd9926ffa8: xor %ebp,%ebp 0.03% │││ 0x00007efd9926ffaa: mov 0x28(%rsp),%rcx 0.02% 0.02% │││ 0x00007efd9926ffaf: mov 0x4(%rsp),%edi 0.05% 0.14% │││ 0x00007efd9926ffb3: mov 0x8(%rsp),%rbx 0.01% 0.01% │││ 0x00007efd9926ffb8: jmpq 0x00007efd9926fc48 ↘││ 0x00007efd9926ffbd: test %r8d,%r8d 0.06% 0.09% ││ 0x00007efd9926ffc0: jl 0x00007efd99270435 ;*ifge ││ ; - java.lang.String::<init>@22 (line 195) ││ ; - org.github.arnaudroger.csv.StringArrayCellConsumer::newCell@19 (line 23) ││ ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@46 (line 35) ││ ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) ││ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.03% 0.01% ││ 0x00007efd9926ffc6: cmp (%rsp),%r9d ╰│ 0x00007efd9926ffca: jg 0x00007efd9926fd94 ;*if_icmpgt │ ; - java.lang.String::<init>@37 (line 198) │ ; - org.github.arnaudroger.csv.StringArrayCellConsumer::newCell@19 (line 23) │ ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@46 (line 35) │ ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) │ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.01% 0.01% │ 0x00007efd9926ffd0: movl $0xed9e14c7,0xc(%rbx) ; {oop([C)} 0.01% 0.02% │ 0x00007efd9926ffd7: mov %rbx,%r8 0.04% 0.11% │ 0x00007efd9926ffda: shr $0x9,%r8 0.02% 0.01% │ 0x00007efd9926ffde: movabs $0x7efdaa45e000,%r9 │ 0x00007efd9926ffe8: mov %r12b,(%r9,%r8,1) ;*putfield value │ ; - java.lang.String::<init>@46 (line 199) │ ; - org.github.arnaudroger.csv.StringArrayCellConsumer::newCell@19 (line 23) │ ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::pushCell@46 (line 35) │ ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@11 (line 157) │ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 0.01% 0.01% ╰ 0x00007efd9926ffec: jmpq 0x00007efd9926ff13 0x00007efd9926fff1: mov %r10d,0x14(%rsp) 0x00007efd9926fff6: mov %rbx,0x8(%rsp) 0x00007efd9926fffb: mov %edi,0x4(%rsp) 0x00007efd9926ffff: mov %ebp,%esi 0x00007efd99270001: xchg %ax,%ax .................................................................................................... 28.95% 29.28% ....[Hottest Region 2].............................................................................. C2, level 4, org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer, version 573 (129 bytes) ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@37 (line 42) ; implicit exception: dispatches to 0x00007efd99270469 0x00007efd9926fc06: mov %r10d,(%rsp) 0x00007efd9926fc0a: cmp %r10d,%edi 0x00007efd9926fc0d: jae 0x00007efd99270469 0x00007efd9926fc13: mov 0x10(%rsp),%r10d 0x00007efd9926fc18: dec %r10d 0x00007efd9926fc1b: cmp (%rsp),%r10d 0x00007efd9926fc1f: jae 0x00007efd99270469 ;*aload_2 ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@34 (line 42) 0.01% 0x00007efd9926fc25: lea (%r12,%r11,8),%rbx ;*getfield buffer ; - org.github.arnaudroger.csv.orig.CharBuffer::getCharBuffer@1 (line 22) ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@4 (line 35) 0x00007efd9926fc29: mov $0xf80002da,%r10d ; {metadata('java/lang/String')} 0x00007efd9926fc2f: shl $0x3,%r10 0x00007efd9926fc33: mov %r10,0x18(%rsp) 0.01% 0x00007efd9926fc38: mov %edi,%r10d ╭ 0x00007efd9926fc3b: jmp 0x00007efd9926fc5a │ 0x00007efd9926fc3d: data16 xchg %ax,%ax 1.30% 1.32% │↗ 0x00007efd9926fc40: or $0x10,%ebp ;*ior ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@171 (line 65) 1.21% 0.99% ││ 0x00007efd9926fc43: mov 0x28(%rsp),%rcx ;*goto ││ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@106 (line 53) 1.58% 1.79% ││ 0x00007efd9926fc48: cmp 0x10(%rsp),%edi ││ 0x00007efd9926fc4c: jge 0x00007efd99270025 1.33% 1.41% ││ 0x00007efd9926fc52: mov %edi,%r10d 1.52% 1.59% ││ 0x00007efd9926fc55: mov %rcx,0x28(%rsp) ;*aload_2 ││ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@34 (line 42) 1.33% 1.55% ↘│ 0x00007efd9926fc5a: movzwl 0x10(%rbx,%r10,2),%r8d ;*caload │ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@37 (line 42) 1.43% 2.13% │ 0x00007efd9926fc60: mov %r10d,%edi 1.30% 1.93% │ 0x00007efd9926fc63: inc %edi ;*iadd │ ; - org.github.arnaudroger.csv.orig.CharConsumer::startNextCell@6 (line 162) │ ; - org.github.arnaudroger.csv.orig.CharConsumer::newCell@16 (line 158) │ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@71 (line 46) 1.30% 2.09% │ 0x00007efd9926fc65: cmp $0x22,%r8d │ 0x00007efd9926fc69: je 0x00007efd9926fff1 ;*if_icmpeq │ ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::isNotEscapeCharacter@3 (line 21) │ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@43 (line 43) 1.37% 1.74% │ 0x00007efd9926fc6f: mov %ebp,%r11d 1.36% 1.87% │ 0x00007efd9926fc72: and $0x1,%r11d ;*iand │ ; - org.github.arnaudroger.csv.orig.CharConsumer::isCharEscaped@2 (line 183) │ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@51 (line 44) 1.20% 1.53% │ 0x00007efd9926fc76: test %r11d,%r11d │ 0x00007efd9926fc79: jne 0x00007efd992701c8 ;*ifne │ ; - org.github.arnaudroger.csv.orig.CharConsumer::isCharEscaped@3 (line 183) │ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@51 (line 44) 1.45% 1.34% │ 0x00007efd9926fc7f: cmp $0x2c,%r8d │ 0x00007efd9926fc83: je 0x00007efd9926fcd5 ;*if_icmpne │ ; - org.github.arnaudroger.csv.orig.CsvCharConsumer::isSeparator@3 (line 16) │ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@60 (line 45) 1.33% 1.47% │ 0x00007efd9926fc85: cmp $0xa,%r8d │ 0x00007efd9926fc89: je 0x00007efd9926ff7a ;*if_icmpne │ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@84 (line 49) 1.47% 1.50% │ 0x00007efd9926fc8f: cmp $0xd,%r8d │ 0x00007efd9926fc93: je 0x00007efd992701f1 ;*if_icmpne │ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@125 (line 58) 1.26% 1.50% │ 0x00007efd9926fc99: mov 0x20(%rsp),%r11 1.34% 1.45% │ 0x00007efd9926fc9e: movzbl 0x14(%r11),%r11d ;*getfield notIgnoreLeadingSpace │ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@152 (line 65) 1.37% 1.62% │ 0x00007efd9926fca3: and $0xfffffff9,%ebp ;*iand │ ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@146 (line 64) 1.05% 1.40% │ 0x00007efd9926fca6: test %r11d,%r11d ╰ 0x00007efd9926fca9: jne 0x00007efd9926fc40 ;*ifne ; - org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer@155 (line 65) 0x00007efd9926fcab: mov $0xffffff65,%esi 0x00007efd9926fcb0: rex.W pushq 0x20(%rsp) 0x00007efd9926fcb5: rex.W popq (%rsp) 0x00007efd9926fcb9: mov %r10d,0x14(%rsp) 0x00007efd9926fcbe: mov %r8d,0x18(%rsp) 0x00007efd9926fcc3: mov %r11d,0x1c(%rsp) 0x00007efd9926fcc8: data16 xchg %ax,%ax .................................................................................................... 25.51% 30.22% ....[Hottest Regions]............................................................................... 28.95% 29.28% C2, level 4 org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer, version 573 (791 bytes) 25.51% 30.22% C2, level 4 org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer, version 573 (129 bytes) 9.12% 10.43% C2, level 4 sun.nio.cs.UTF_8$Decoder::decodeArrayLoop, version 659 (473 bytes) 8.61% 7.19% C2, level 4 org.github.arnaudroger.csv.orig.CharConsumer::endOfRow, version 548 (1081 bytes) 8.60% 10.55% runtime stub StubRoutines::jshort_disjoint_arraycopy (205 bytes) 2.38% 2.37% [unknown] [unknown] (3 bytes) 1.95% 0.09% [unknown] [unknown] (7 bytes) 1.73% 1.50% runtime stub StubRoutines::jint_disjoint_arraycopy (128 bytes) 1.19% 0.68% libjvm.so SpinPause (9 bytes) 1.18% 0.84% C2, level 4 sun.nio.cs.UTF_8$Decoder::decodeArrayLoop, version 659 (399 bytes) 0.47% libc-2.23.so __memmove_avx_unaligned (17 bytes) 0.46% 0.51% libjvm.so ParallelTaskTerminator::offer_termination (29 bytes) 0.42% 0.34% C2, level 4 org.openjdk.jmh.infra.Blackhole::consume, version 528 (63 bytes) 0.37% 0.01% [unknown] [unknown] (31 bytes) 0.31% 0.21% libjvm.so StringTable::unlink_or_oops_do (69 bytes) 0.29% 0.15% C2, level 4 java.nio.charset.CoderResult$Cache::access$200, version 627 (23 bytes) 0.26% 0.10% C2, level 4 java.nio.charset.CoderResult$Cache::access$200, version 627 (222 bytes) 0.23% 0.10% C2, level 4 java.nio.charset.CharsetDecoder::decode, version 718 (285 bytes) 0.20% 0.05% [unknown] [unknown] (39 bytes) 0.20% 0.17% C2, level 4 java.nio.charset.CoderResult$Cache::access$200, version 627 (8 bytes) 7.47% 5.20% <...other 780 warm regions...> .................................................................................................... 99.92% 99.99% ....[Hottest Methods (after inlining)].............................................................. 54.56% 59.54% C2, level 4 org.github.arnaudroger.csv.orig.CharConsumer::consumeAllBuffer, version 573 10.88% 11.60% C2, level 4 sun.nio.cs.UTF_8$Decoder::decodeArrayLoop, version 659 8.61% 7.19% C2, level 4 org.github.arnaudroger.csv.orig.CharConsumer::endOfRow, version 548 8.60% 10.55% runtime stub StubRoutines::jshort_disjoint_arraycopy 8.37% 4.48% [unknown] [unknown] 1.73% 1.50% runtime stub StubRoutines::jint_disjoint_arraycopy 1.19% 0.68% libjvm.so SpinPause 0.89% 0.52% C2, level 4 java.nio.charset.CoderResult$Cache::access$200, version 627 0.47% 0.01% libc-2.23.so __memmove_avx_unaligned 0.46% 0.51% libjvm.so ParallelTaskTerminator::offer_termination 0.45% 0.32% C2, level 4 java.nio.charset.CharsetDecoder::decode, version 718 0.42% 0.34% C2, level 4 org.openjdk.jmh.infra.Blackhole::consume, version 528 0.40% 0.46% libjvm.so StringTable::unlink_or_oops_do 0.21% 0.06% libjvm.so jni_GetObjectField 0.17% 0.13% C2, level 4 org.github.arnaudroger.csv.orig.CharConsumer::refillBuffer, version 719 0.13% 0.08% hsdis-amd64.so [unknown] 0.11% 0.19% libjvm.so fileStream::write 0.10% 0.10% libjvm.so RelocIterator::initialize 0.09% 0.04% libjvm.so HandleMarkCleaner::~HandleMarkCleaner 0.08% 0.11% libc-2.23.so vfprintf 2.00% 1.24% <...other 172 warm methods...> .................................................................................................... 99.92% 99.65% ....[Distribution by Source]........................................................................ 76.06% 79.68% C2, level 4 10.34% 12.06% runtime stub 8.37% 4.48% [unknown] 3.69% 2.91% libjvm.so 0.81% 0.54% libc-2.23.so 0.33% 0.16% libpthread-2.23.so 0.14% 0.08% hsdis-amd64.so 0.07% 0.01% interpreter 0.07% 0.03% libjava.so 0.03% 0.03% Unknown, level 0 0.01% 0.01% C1, level 3 .................................................................................................... 99.92% 99.99% # Run complete. Total time: 00:00:37 Benchmark Mode Cnt Score Error Units Csv1Benchmark.parseCsv sample 20 0.701 ± 0.032 s/op Csv1Benchmark.parseCsv:parseCsv·p0.00 sample 0.683 s/op Csv1Benchmark.parseCsv:parseCsv·p0.50 sample 0.689 s/op Csv1Benchmark.parseCsv:parseCsv·p0.90 sample 0.757 s/op Csv1Benchmark.parseCsv:parseCsv·p0.95 sample 0.836 s/op Csv1Benchmark.parseCsv:parseCsv·p0.99 sample 0.840 s/op Csv1Benchmark.parseCsv:parseCsv·p0.999 sample 0.840 s/op Csv1Benchmark.parseCsv:parseCsv·p0.9999 sample 0.840 s/op Csv1Benchmark.parseCsv:parseCsv·p1.00 sample 0.840 s/op Csv1Benchmark.parseCsv:·asm sample NaN ---