Skip to content

Instantly share code, notes, and snippets.

@jhy
Created August 9, 2024 23:48
Show Gist options
  • Save jhy/f6e9c8ca8fd506c6c36f7d1a3154631c to your computer and use it in GitHub Desktop.
Save jhy/f6e9c8ca8fd506c6c36f7d1a3154631c to your computer and use it in GitHub Desktop.
jsoup 1.18.2 buffman JMH profiling logs
% java -jar target/jsoup-bench.jar -r 10 -wi 2 -w 5 -t max -f 2 -i 2 -prof gc -prof mempool
# Detecting actual CPU count: 8 detected
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromInputStream.parseLargeInput
# Run progress: 0.00% complete, ETA 00:08:00
# Fork: 1 of 2
# Warmup Iteration 1: 1263.010 ops/s
# Warmup Iteration 2: 1607.660 ops/s
Iteration 1: 1605.783 ops/s
gc.alloc.rate: 3648.936 MB/sec
gc.alloc.rate.norm: 2383762.910 B/op
gc.count: 135.000 counts
gc.time: 282.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1137.750 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1982.625 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3611.250 KiB
mempool.Compressed Class Space.used: 575.930 KiB
mempool.G1 Eden Space.used: 284672.000 KiB
mempool.G1 Old Gen.used: 110179.500 KiB
mempool.G1 Survivor Space.used: 14862.406 KiB
mempool.Metaspace.used: 5432.945 KiB
mempool.total.codeheap.used: 6731.625 KiB
mempool.total.used: 422454.406 KiB
Iteration 2: 1575.058 ops/s
gc.alloc.rate: 3579.673 MB/sec
gc.alloc.rate.norm: 2383762.281 B/op
gc.count: 133.000 counts
gc.time: 273.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1166.875 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1989.250 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3632.375 KiB
mempool.Compressed Class Space.used: 576.992 KiB
mempool.G1 Eden Space.used: 284672.000 KiB
mempool.G1 Old Gen.used: 110202.000 KiB
mempool.G1 Survivor Space.used: 14561.461 KiB
mempool.Metaspace.used: 5452.531 KiB
mempool.total.codeheap.used: 6788.500 KiB
mempool.total.used: 422253.484 KiB
# Run progress: 6.25% complete, ETA 00:07:33
# Fork: 2 of 2
# Warmup Iteration 1: 1040.152 ops/s
# Warmup Iteration 2: 1540.036 ops/s
Iteration 1: 1550.942 ops/s
gc.alloc.rate: 3524.858 MB/sec
gc.alloc.rate.norm: 2383754.316 B/op
gc.count: 118.000 counts
gc.time: 248.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1135.625 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 2316.750 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3408.250 KiB
mempool.Compressed Class Space.used: 575.930 KiB
mempool.G1 Eden Space.used: 312320.000 KiB
mempool.G1 Old Gen.used: 126072.500 KiB
mempool.G1 Survivor Space.used: 14336.000 KiB
mempool.Metaspace.used: 5431.781 KiB
mempool.total.codeheap.used: 6860.625 KiB
mempool.total.used: 465596.836 KiB
Iteration 2: 1545.775 ops/s
gc.alloc.rate: 3512.968 MB/sec
gc.alloc.rate.norm: 2383754.318 B/op
gc.count: 118.000 counts
gc.time: 242.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1135.625 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 2319.000 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3429.375 KiB
mempool.Compressed Class Space.used: 576.992 KiB
mempool.G1 Eden Space.used: 312320.000 KiB
mempool.G1 Old Gen.used: 126095.500 KiB
mempool.G1 Survivor Space.used: 13929.320 KiB
mempool.Metaspace.used: 5451.313 KiB
mempool.total.codeheap.used: 6884.000 KiB
mempool.total.used: 465257.125 KiB
Result "org.jsoup.bench.ParseFromInputStream.parseLargeInput":
1569.390 ±(99.9%) 177.149 ops/s [Average]
(min, avg, max) = (1545.775, 1569.390, 1605.783), stdev = 27.414
CI (99.9%): [1392.241, 1746.538] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseLargeInput:gc.alloc.rate":
3566.609 ±(99.9%) 401.281 MB/sec [Average]
(min, avg, max) = (3512.968, 3566.609, 3648.936), stdev = 62.099
CI (99.9%): [3165.328, 3967.890] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseLargeInput:gc.alloc.rate.norm":
2383758.456 ±(99.9%) 30.931 B/op [Average]
(min, avg, max) = (2383754.316, 2383758.456, 2383762.910), stdev = 4.787
CI (99.9%): [2383727.525, 2383789.387] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseLargeInput:gc.count":
504.000 ±(99.9%) 0.001 counts [Sum]
(min, avg, max) = (118.000, 126.000, 135.000), stdev = 9.274
CI (99.9%): [504.000, 504.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseLargeInput:gc.time":
1045.000 ±(99.9%) 0.001 ms [Sum]
(min, avg, max) = (242.000, 261.250, 282.000), stdev = 19.276
CI (99.9%): [1045.000, 1045.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseLargeInput:mempool.CodeHeap 'non-nmethods'.used":
1166.875 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1135.625, 1143.969, 1166.875), stdev = 15.304
CI (99.9%): [1166.875, 1166.875] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseLargeInput:mempool.CodeHeap 'non-profiled nmethods'.used":
2319.000 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1982.625, 2151.906, 2319.000), stdev = 191.665
CI (99.9%): [2319.000, 2319.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseLargeInput:mempool.CodeHeap 'profiled nmethods'.used":
3632.375 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (3408.250, 3520.313, 3632.375), stdev = 117.835
CI (99.9%): [3632.375, 3632.375] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseLargeInput:mempool.Compressed Class Space.used":
576.992 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (575.930, 576.461, 576.992), stdev = 0.613
CI (99.9%): [576.992, 576.992] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseLargeInput:mempool.G1 Eden Space.used":
312320.000 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (284672.000, 298496.000, 312320.000), stdev = 15962.580
CI (99.9%): [312320.000, 312320.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseLargeInput:mempool.G1 Old Gen.used":
126095.500 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (110179.500, 118137.375, 126095.500), stdev = 9175.982
CI (99.9%): [126095.500, 126095.500] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseLargeInput:mempool.G1 Survivor Space.used":
14862.406 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (13929.320, 14422.297, 14862.406), stdev = 393.080
CI (99.9%): [14862.406, 14862.406] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseLargeInput:mempool.Metaspace.used":
5452.531 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (5431.781, 5442.143, 5452.531), stdev = 11.313
CI (99.9%): [5452.531, 5452.531] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseLargeInput:mempool.total.codeheap.used":
6884.000 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (6731.625, 6816.188, 6884.000), stdev = 69.500
CI (99.9%): [6884.000, 6884.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseLargeInput:mempool.total.used":
465596.836 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (422253.484, 443890.463, 465596.836), stdev = 24868.750
CI (99.9%): [465596.836, 465596.836] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromInputStream.parseMediumInput
# Run progress: 12.50% complete, ETA 00:07:03
# Fork: 1 of 2
# Warmup Iteration 1: 29464.373 ops/s
# Warmup Iteration 2: 43612.088 ops/s
Iteration 1: 43705.212 ops/s
gc.alloc.rate: 10830.502 MB/sec
gc.alloc.rate.norm: 259880.082 B/op
gc.count: 470.000 counts
gc.time: 243.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1136.375 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 2020.125 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3431.000 KiB
mempool.Compressed Class Space.used: 575.984 KiB
mempool.G1 Eden Space.used: 239616.000 KiB
mempool.G1 Old Gen.used: 3212.500 KiB
mempool.G1 Survivor Space.used: 1824.820 KiB
mempool.Metaspace.used: 5442.555 KiB
mempool.total.codeheap.used: 6587.500 KiB
mempool.total.used: 257259.359 KiB
Iteration 2: 43743.771 ops/s
gc.alloc.rate: 10840.053 MB/sec
gc.alloc.rate.norm: 259880.082 B/op
gc.count: 469.000 counts
gc.time: 243.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1150.250 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 2024.125 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3459.500 KiB
mempool.Compressed Class Space.used: 577.047 KiB
mempool.G1 Eden Space.used: 239616.000 KiB
mempool.G1 Old Gen.used: 3239.500 KiB
mempool.G1 Survivor Space.used: 1770.969 KiB
mempool.Metaspace.used: 5468.922 KiB
mempool.total.codeheap.used: 6633.875 KiB
mempool.total.used: 257306.313 KiB
# Run progress: 18.75% complete, ETA 00:06:32
# Fork: 2 of 2
# Warmup Iteration 1: 30681.141 ops/s
# Warmup Iteration 2: 43478.862 ops/s
Iteration 1: 43520.757 ops/s
gc.alloc.rate: 10785.018 MB/sec
gc.alloc.rate.norm: 259880.107 B/op
gc.count: 465.000 counts
gc.time: 242.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1150.625 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 2024.250 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3386.750 KiB
mempool.Compressed Class Space.used: 575.430 KiB
mempool.G1 Eden Space.used: 240640.000 KiB
mempool.G1 Old Gen.used: 3068.500 KiB
mempool.G1 Survivor Space.used: 1767.891 KiB
mempool.Metaspace.used: 5439.664 KiB
mempool.total.codeheap.used: 6561.625 KiB
mempool.total.used: 258053.109 KiB
Iteration 2: 43619.230 ops/s
gc.alloc.rate: 10808.639 MB/sec
gc.alloc.rate.norm: 259880.083 B/op
gc.count: 467.000 counts
gc.time: 242.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1165.000 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 2031.375 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3407.750 KiB
mempool.Compressed Class Space.used: 576.492 KiB
mempool.G1 Eden Space.used: 240640.000 KiB
mempool.G1 Old Gen.used: 3091.500 KiB
mempool.G1 Survivor Space.used: 1811.328 KiB
mempool.Metaspace.used: 5459.250 KiB
mempool.total.codeheap.used: 6604.125 KiB
mempool.total.used: 258182.695 KiB
Result "org.jsoup.bench.ParseFromInputStream.parseMediumInput":
43647.242 ±(99.9%) 640.375 ops/s [Average]
(min, avg, max) = (43520.757, 43647.242, 43743.771), stdev = 99.099
CI (99.9%): [43006.867, 44287.617] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseMediumInput:gc.alloc.rate":
10816.053 ±(99.9%) 158.414 MB/sec [Average]
(min, avg, max) = (10785.018, 10816.053, 10840.053), stdev = 24.515
CI (99.9%): [10657.639, 10974.466] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseMediumInput:gc.alloc.rate.norm":
259880.089 ±(99.9%) 0.081 B/op [Average]
(min, avg, max) = (259880.082, 259880.089, 259880.107), stdev = 0.012
CI (99.9%): [259880.008, 259880.169] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseMediumInput:gc.count":
1871.000 ±(99.9%) 0.001 counts [Sum]
(min, avg, max) = (465.000, 467.750, 470.000), stdev = 2.217
CI (99.9%): [1871.000, 1871.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseMediumInput:gc.time":
970.000 ±(99.9%) 0.001 ms [Sum]
(min, avg, max) = (242.000, 242.500, 243.000), stdev = 0.577
CI (99.9%): [970.000, 970.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseMediumInput:mempool.CodeHeap 'non-nmethods'.used":
1165.000 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1136.375, 1150.563, 1165.000), stdev = 11.688
CI (99.9%): [1165.000, 1165.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseMediumInput:mempool.CodeHeap 'non-profiled nmethods'.used":
2031.375 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (2020.125, 2024.969, 2031.375), stdev = 4.681
CI (99.9%): [2031.375, 2031.375] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseMediumInput:mempool.CodeHeap 'profiled nmethods'.used":
3459.500 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (3386.750, 3421.250, 3459.500), stdev = 31.255
CI (99.9%): [3459.500, 3459.500] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseMediumInput:mempool.Compressed Class Space.used":
577.047 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (575.430, 576.238, 577.047), stdev = 0.692
CI (99.9%): [577.047, 577.047] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseMediumInput:mempool.G1 Eden Space.used":
240640.000 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (239616.000, 240128.000, 240640.000), stdev = 591.207
CI (99.9%): [240640.000, 240640.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseMediumInput:mempool.G1 Old Gen.used":
3239.500 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (3068.500, 3153.000, 3239.500), stdev = 85.528
CI (99.9%): [3239.500, 3239.500] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseMediumInput:mempool.G1 Survivor Space.used":
1824.820 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1767.891, 1793.752, 1824.820), stdev = 28.648
CI (99.9%): [1824.820, 1824.820] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseMediumInput:mempool.Metaspace.used":
5468.922 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (5439.664, 5452.598, 5468.922), stdev = 13.891
CI (99.9%): [5468.922, 5468.922] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseMediumInput:mempool.total.codeheap.used":
6633.875 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (6561.625, 6596.781, 6633.875), stdev = 30.287
CI (99.9%): [6633.875, 6633.875] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseMediumInput:mempool.total.used":
258182.695 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (257259.359, 257700.369, 258182.695), stdev = 485.398
CI (99.9%): [258182.695, 258182.695] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromInputStream.parseSmallInput
# Run progress: 25.00% complete, ETA 00:06:02
# Fork: 1 of 2
# Warmup Iteration 1: 50565.739 ops/s
# Warmup Iteration 2: 76315.260 ops/s
Iteration 1: 76570.056 ops/s
gc.alloc.rate: 15940.907 MB/sec
gc.alloc.rate.norm: 218328.047 B/op
gc.count: 586.000 counts
gc.time: 264.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1137.125 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 2675.000 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3403.750 KiB
mempool.Compressed Class Space.used: 575.430 KiB
mempool.G1 Eden Space.used: 281600.000 KiB
mempool.G1 Old Gen.used: 3056.000 KiB
mempool.G1 Survivor Space.used: 964.688 KiB
mempool.Metaspace.used: 5428.492 KiB
mempool.total.codeheap.used: 7215.875 KiB
mempool.total.used: 298840.484 KiB
Iteration 2: 76629.279 ops/s
gc.alloc.rate: 15953.564 MB/sec
gc.alloc.rate.norm: 218328.047 B/op
gc.count: 587.000 counts
gc.time: 267.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1150.875 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 2681.500 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3424.875 KiB
mempool.Compressed Class Space.used: 576.492 KiB
mempool.G1 Eden Space.used: 281600.000 KiB
mempool.G1 Old Gen.used: 3078.500 KiB
mempool.G1 Survivor Space.used: 986.094 KiB
mempool.Metaspace.used: 5448.023 KiB
mempool.total.codeheap.used: 7257.250 KiB
mempool.total.used: 298946.359 KiB
# Run progress: 31.25% complete, ETA 00:05:32
# Fork: 2 of 2
# Warmup Iteration 1: 64279.937 ops/s
# Warmup Iteration 2: 77323.740 ops/s
Iteration 1: 77591.144 ops/s
gc.alloc.rate: 16150.394 MB/sec
gc.alloc.rate.norm: 218280.060 B/op
gc.count: 593.000 counts
gc.time: 267.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1151.000 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1827.125 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3430.500 KiB
mempool.Compressed Class Space.used: 575.984 KiB
mempool.G1 Eden Space.used: 282114.000 KiB
mempool.G1 Old Gen.used: 3196.000 KiB
mempool.G1 Survivor Space.used: 971.758 KiB
mempool.Metaspace.used: 5442.227 KiB
mempool.total.codeheap.used: 6408.625 KiB
mempool.total.used: 298708.594 KiB
Iteration 2: 77567.368 ops/s
gc.alloc.rate: 16145.577 MB/sec
gc.alloc.rate.norm: 218280.046 B/op
gc.count: 594.000 counts
gc.time: 267.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1137.125 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1831.125 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3453.250 KiB
mempool.Compressed Class Space.used: 577.047 KiB
mempool.G1 Eden Space.used: 282208.031 KiB
mempool.G1 Old Gen.used: 3218.500 KiB
mempool.G1 Survivor Space.used: 1056.469 KiB
mempool.Metaspace.used: 5461.461 KiB
mempool.total.codeheap.used: 6421.500 KiB
mempool.total.used: 298943.008 KiB
Result "org.jsoup.bench.ParseFromInputStream.parseSmallInput":
77089.462 ±(99.9%) 3658.554 ops/s [Average]
(min, avg, max) = (76570.056, 77089.462, 77591.144), stdev = 566.165
CI (99.9%): [73430.908, 80748.016] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseSmallInput:gc.alloc.rate":
16047.610 ±(99.9%) 749.816 MB/sec [Average]
(min, avg, max) = (15940.907, 16047.610, 16150.394), stdev = 116.035
CI (99.9%): [15297.795, 16797.426] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseSmallInput:gc.alloc.rate.norm":
218304.050 ±(99.9%) 179.056 B/op [Average]
(min, avg, max) = (218280.046, 218304.050, 218328.047), stdev = 27.709
CI (99.9%): [218124.994, 218483.107] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseSmallInput:gc.count":
2360.000 ±(99.9%) 0.001 counts [Sum]
(min, avg, max) = (586.000, 590.000, 594.000), stdev = 4.082
CI (99.9%): [2360.000, 2360.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseSmallInput:gc.time":
1065.000 ±(99.9%) 0.001 ms [Sum]
(min, avg, max) = (264.000, 266.250, 267.000), stdev = 1.500
CI (99.9%): [1065.000, 1065.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseSmallInput:mempool.CodeHeap 'non-nmethods'.used":
1151.000 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1137.125, 1144.031, 1151.000), stdev = 7.975
CI (99.9%): [1151.000, 1151.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseSmallInput:mempool.CodeHeap 'non-profiled nmethods'.used":
2681.500 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1827.125, 2253.688, 2681.500), stdev = 490.252
CI (99.9%): [2681.500, 2681.500] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseSmallInput:mempool.CodeHeap 'profiled nmethods'.used":
3453.250 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (3403.750, 3428.094, 3453.250), stdev = 20.344
CI (99.9%): [3453.250, 3453.250] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseSmallInput:mempool.Compressed Class Space.used":
577.047 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (575.430, 576.238, 577.047), stdev = 0.692
CI (99.9%): [577.047, 577.047] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseSmallInput:mempool.G1 Eden Space.used":
282208.031 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (281600.000, 281880.508, 282208.031), stdev = 326.169
CI (99.9%): [282208.031, 282208.031] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseSmallInput:mempool.G1 Old Gen.used":
3218.500 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (3056.000, 3137.250, 3218.500), stdev = 81.866
CI (99.9%): [3218.500, 3218.500] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseSmallInput:mempool.G1 Survivor Space.used":
1056.469 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (964.688, 994.752, 1056.469), stdev = 42.097
CI (99.9%): [1056.469, 1056.469] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseSmallInput:mempool.Metaspace.used":
5461.461 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (5428.492, 5445.051, 5461.461), stdev = 13.666
CI (99.9%): [5461.461, 5461.461] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseSmallInput:mempool.total.codeheap.used":
7257.250 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (6408.625, 6825.813, 7257.250), stdev = 474.623
CI (99.9%): [7257.250, 7257.250] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseSmallInput:mempool.total.used":
298946.359 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (298708.594, 298859.611, 298946.359), stdev = 112.030
CI (99.9%): [298946.359, 298946.359] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromInputStream.parseTinyInput
# Run progress: 37.50% complete, ETA 00:05:01
# Fork: 1 of 2
# Warmup Iteration 1: 97341.815 ops/s
# Warmup Iteration 2: 123586.339 ops/s
Iteration 1: 123705.981 ops/s
gc.alloc.rate: 23554.386 MB/sec
gc.alloc.rate.norm: 199672.038 B/op
gc.count: 819.000 counts
gc.time: 295.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1136.375 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 2208.500 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3133.625 KiB
mempool.Compressed Class Space.used: 574.938 KiB
mempool.G1 Eden Space.used: 297984.000 KiB
mempool.G1 Old Gen.used: 3048.000 KiB
mempool.G1 Survivor Space.used: 648.477 KiB
mempool.Metaspace.used: 5405.641 KiB
mempool.total.codeheap.used: 6478.500 KiB
mempool.total.used: 314139.555 KiB
Iteration 2: 123806.810 ops/s
gc.alloc.rate: 23572.434 MB/sec
gc.alloc.rate.norm: 199672.029 B/op
gc.count: 820.000 counts
gc.time: 294.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1150.875 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 2214.375 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3157.375 KiB
mempool.Compressed Class Space.used: 576.000 KiB
mempool.G1 Eden Space.used: 297984.000 KiB
mempool.G1 Old Gen.used: 3062.500 KiB
mempool.G1 Survivor Space.used: 645.539 KiB
mempool.Metaspace.used: 5425.688 KiB
mempool.total.codeheap.used: 6522.625 KiB
mempool.total.used: 314216.352 KiB
# Run progress: 43.75% complete, ETA 00:04:31
# Fork: 2 of 2
# Warmup Iteration 1: 105156.536 ops/s
# Warmup Iteration 2: 124871.291 ops/s
Iteration 1: 125085.127 ops/s
gc.alloc.rate: 23816.634 MB/sec
gc.alloc.rate.norm: 199672.037 B/op
gc.count: 788.000 counts
gc.time: 290.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1150.500 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1911.875 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3120.250 KiB
mempool.Compressed Class Space.used: 575.414 KiB
mempool.G1 Eden Space.used: 313344.000 KiB
mempool.G1 Old Gen.used: 3036.000 KiB
mempool.G1 Survivor Space.used: 712.008 KiB
mempool.Metaspace.used: 5399.469 KiB
mempool.total.codeheap.used: 6182.625 KiB
mempool.total.used: 329249.516 KiB
Iteration 2: 124919.081 ops/s
gc.alloc.rate: 23785.549 MB/sec
gc.alloc.rate.norm: 199672.029 B/op
gc.count: 787.000 counts
gc.time: 291.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1150.875 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1917.750 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3141.375 KiB
mempool.Compressed Class Space.used: 576.477 KiB
mempool.G1 Eden Space.used: 313344.000 KiB
mempool.G1 Old Gen.used: 3051.000 KiB
mempool.G1 Survivor Space.used: 752.008 KiB
mempool.Metaspace.used: 5419.000 KiB
mempool.total.codeheap.used: 6210.000 KiB
mempool.total.used: 329352.484 KiB
Result "org.jsoup.bench.ParseFromInputStream.parseTinyInput":
124379.250 ±(99.9%) 4675.699 ops/s [Average]
(min, avg, max) = (123705.981, 124379.250, 125085.127), stdev = 723.570
CI (99.9%): [119703.550, 129054.949] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseTinyInput:gc.alloc.rate":
23682.251 ±(99.9%) 891.805 MB/sec [Average]
(min, avg, max) = (23554.386, 23682.251, 23816.634), stdev = 138.008
CI (99.9%): [22790.446, 24574.056] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseTinyInput:gc.alloc.rate.norm":
199672.033 ±(99.9%) 0.032 B/op [Average]
(min, avg, max) = (199672.029, 199672.033, 199672.038), stdev = 0.005
CI (99.9%): [199672.001, 199672.065] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseTinyInput:gc.count":
3214.000 ±(99.9%) 0.001 counts [Sum]
(min, avg, max) = (787.000, 803.500, 820.000), stdev = 18.484
CI (99.9%): [3214.000, 3214.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseTinyInput:gc.time":
1170.000 ±(99.9%) 0.001 ms [Sum]
(min, avg, max) = (290.000, 292.500, 295.000), stdev = 2.380
CI (99.9%): [1170.000, 1170.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseTinyInput:mempool.CodeHeap 'non-nmethods'.used":
1150.875 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1136.375, 1147.156, 1150.875), stdev = 7.190
CI (99.9%): [1150.875, 1150.875] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseTinyInput:mempool.CodeHeap 'non-profiled nmethods'.used":
2214.375 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1911.875, 2063.125, 2214.375), stdev = 171.290
CI (99.9%): [2214.375, 2214.375] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseTinyInput:mempool.CodeHeap 'profiled nmethods'.used":
3157.375 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (3120.250, 3138.156, 3157.375), stdev = 15.501
CI (99.9%): [3157.375, 3157.375] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseTinyInput:mempool.Compressed Class Space.used":
576.477 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (574.938, 575.707, 576.477), stdev = 0.672
CI (99.9%): [576.477, 576.477] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseTinyInput:mempool.G1 Eden Space.used":
313344.000 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (297984.000, 305664.000, 313344.000), stdev = 8868.100
CI (99.9%): [313344.000, 313344.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseTinyInput:mempool.G1 Old Gen.used":
3062.500 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (3036.000, 3049.375, 3062.500), stdev = 10.889
CI (99.9%): [3062.500, 3062.500] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseTinyInput:mempool.G1 Survivor Space.used":
752.008 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (645.539, 689.508, 752.008), stdev = 51.734
CI (99.9%): [752.008, 752.008] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseTinyInput:mempool.Metaspace.used":
5425.688 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (5399.469, 5412.449, 5425.688), stdev = 12.014
CI (99.9%): [5425.688, 5425.688] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseTinyInput:mempool.total.codeheap.used":
6522.625 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (6182.625, 6348.438, 6522.625), stdev = 176.933
CI (99.9%): [6522.625, 6522.625] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseTinyInput:mempool.total.used":
329352.484 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (314139.555, 321739.477, 329352.484), stdev = 8731.453
CI (99.9%): [329352.484, 329352.484] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromString.parseLargeString
# Run progress: 50.00% complete, ETA 00:04:01
# Fork: 1 of 2
# Warmup Iteration 1: 1496.766 ops/s
# Warmup Iteration 2: 1794.880 ops/s
Iteration 1: 1798.615 ops/s
gc.alloc.rate: 3854.209 MB/sec
gc.alloc.rate.norm: 2247786.002 B/op
gc.count: 131.000 counts
gc.time: 274.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1167.500 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1382.750 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2616.125 KiB
mempool.Compressed Class Space.used: 575.445 KiB
mempool.G1 Eden Space.used: 309248.000 KiB
mempool.G1 Old Gen.used: 87050.000 KiB
mempool.G1 Survivor Space.used: 13216.656 KiB
mempool.Metaspace.used: 5233.508 KiB
mempool.total.codeheap.used: 5166.375 KiB
mempool.total.used: 420489.984 KiB
Iteration 2: 1804.967 ops/s
gc.alloc.rate: 3868.406 MB/sec
gc.alloc.rate.norm: 2247785.996 B/op
gc.count: 131.000 counts
gc.time: 268.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1137.125 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1386.000 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2638.750 KiB
mempool.Compressed Class Space.used: 576.508 KiB
mempool.G1 Eden Space.used: 308224.000 KiB
mempool.G1 Old Gen.used: 87072.500 KiB
mempool.G1 Survivor Space.used: 12699.578 KiB
mempool.Metaspace.used: 5251.492 KiB
mempool.total.codeheap.used: 5161.875 KiB
mempool.total.used: 418985.953 KiB
# Run progress: 56.25% complete, ETA 00:03:31
# Fork: 2 of 2
# Warmup Iteration 1: 1452.024 ops/s
# Warmup Iteration 2: 1804.922 ops/s
Iteration 1: 1811.535 ops/s
gc.alloc.rate: 3881.650 MB/sec
gc.alloc.rate.norm: 2247786.576 B/op
gc.count: 99.000 counts
gc.time: 210.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1167.500 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1404.125 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2555.750 KiB
mempool.Compressed Class Space.used: 574.414 KiB
mempool.G1 Eden Space.used: 407552.000 KiB
mempool.G1 Old Gen.used: 132341.500 KiB
mempool.G1 Survivor Space.used: 12997.500 KiB
mempool.Metaspace.used: 5221.734 KiB
mempool.total.codeheap.used: 5127.375 KiB
mempool.total.used: 563814.523 KiB
Iteration 2: 1811.657 ops/s
gc.alloc.rate: 3882.807 MB/sec
gc.alloc.rate.norm: 2247785.983 B/op
gc.count: 100.000 counts
gc.time: 208.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1137.125 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1407.375 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2578.750 KiB
mempool.Compressed Class Space.used: 575.477 KiB
mempool.G1 Eden Space.used: 407552.000 KiB
mempool.G1 Old Gen.used: 132364.500 KiB
mempool.G1 Survivor Space.used: 14548.719 KiB
mempool.Metaspace.used: 5240.180 KiB
mempool.total.codeheap.used: 5123.250 KiB
mempool.total.used: 565404.125 KiB
Result "org.jsoup.bench.ParseFromString.parseLargeString":
1806.694 ±(99.9%) 40.238 ops/s [Average]
(min, avg, max) = (1798.615, 1806.694, 1811.657), stdev = 6.227
CI (99.9%): [1766.456, 1846.932] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseLargeString:gc.alloc.rate":
3871.768 ±(99.9%) 86.627 MB/sec [Average]
(min, avg, max) = (3854.209, 3871.768, 3882.807), stdev = 13.406
CI (99.9%): [3785.142, 3958.395] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseLargeString:gc.alloc.rate.norm":
2247786.139 ±(99.9%) 1.883 B/op [Average]
(min, avg, max) = (2247785.983, 2247786.139, 2247786.576), stdev = 0.291
CI (99.9%): [2247784.256, 2247788.022] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseLargeString:gc.count":
461.000 ±(99.9%) 0.001 counts [Sum]
(min, avg, max) = (99.000, 115.250, 131.000), stdev = 18.191
CI (99.9%): [461.000, 461.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseLargeString:gc.time":
960.000 ±(99.9%) 0.001 ms [Sum]
(min, avg, max) = (208.000, 240.000, 274.000), stdev = 35.889
CI (99.9%): [960.000, 960.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseLargeString:mempool.CodeHeap 'non-nmethods'.used":
1167.500 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1137.125, 1152.313, 1167.500), stdev = 17.537
CI (99.9%): [1167.500, 1167.500] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseLargeString:mempool.CodeHeap 'non-profiled nmethods'.used":
1407.375 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1382.750, 1395.063, 1407.375), stdev = 12.483
CI (99.9%): [1407.375, 1407.375] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseLargeString:mempool.CodeHeap 'profiled nmethods'.used":
2638.750 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (2555.750, 2597.344, 2638.750), stdev = 37.162
CI (99.9%): [2638.750, 2638.750] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseLargeString:mempool.Compressed Class Space.used":
576.508 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (574.414, 575.461, 576.508), stdev = 0.855
CI (99.9%): [576.508, 576.508] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseLargeString:mempool.G1 Eden Space.used":
407552.000 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (308224.000, 358144.000, 407552.000), stdev = 57052.976
CI (99.9%): [407552.000, 407552.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseLargeString:mempool.G1 Old Gen.used":
132364.500 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (87050.000, 109707.125, 132364.500), stdev = 26149.207
CI (99.9%): [132364.500, 132364.500] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseLargeString:mempool.G1 Survivor Space.used":
14548.719 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (12699.578, 13365.613, 14548.719), stdev = 816.708
CI (99.9%): [14548.719, 14548.719] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseLargeString:mempool.Metaspace.used":
5251.492 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (5221.734, 5236.729, 5251.492), stdev = 12.451
CI (99.9%): [5251.492, 5251.492] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseLargeString:mempool.total.codeheap.used":
5166.375 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (5123.250, 5144.719, 5166.375), stdev = 22.547
CI (99.9%): [5166.375, 5166.375] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseLargeString:mempool.total.used":
565404.125 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (418985.953, 492173.646, 565404.125), stdev = 83646.287
CI (99.9%): [565404.125, 565404.125] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromString.parseMediumString
# Run progress: 62.50% complete, ETA 00:03:01
# Fork: 1 of 2
# Warmup Iteration 1: 59863.433 ops/s
# Warmup Iteration 2: 80535.249 ops/s
Iteration 1: 80545.934 ops/s
gc.alloc.rate: 9639.149 MB/sec
gc.alloc.rate.norm: 125512.058 B/op
gc.count: 416.000 counts
gc.time: 212.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1167.625 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1570.000 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2625.625 KiB
mempool.Compressed Class Space.used: 575.445 KiB
mempool.G1 Eden Space.used: 239616.000 KiB
mempool.G1 Old Gen.used: 4020.500 KiB
mempool.G1 Survivor Space.used: 907.391 KiB
mempool.Metaspace.used: 5249.156 KiB
mempool.total.codeheap.used: 5363.250 KiB
mempool.total.used: 255731.742 KiB
Iteration 2: 80179.042 ops/s
gc.alloc.rate: 9596.323 MB/sec
gc.alloc.rate.norm: 125512.045 B/op
gc.count: 414.000 counts
gc.time: 212.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1137.250 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1573.250 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2645.875 KiB
mempool.Compressed Class Space.used: 576.508 KiB
mempool.G1 Eden Space.used: 239616.000 KiB
mempool.G1 Old Gen.used: 4043.000 KiB
mempool.G1 Survivor Space.used: 918.781 KiB
mempool.Metaspace.used: 5267.141 KiB
mempool.total.codeheap.used: 5356.375 KiB
mempool.total.used: 255777.805 KiB
# Run progress: 68.75% complete, ETA 00:02:30
# Fork: 2 of 2
# Warmup Iteration 1: 61615.981 ops/s
# Warmup Iteration 2: 80075.623 ops/s
Iteration 1: 80188.014 ops/s
gc.alloc.rate: 9594.636 MB/sec
gc.alloc.rate.norm: 125512.045 B/op
gc.count: 414.000 counts
gc.time: 212.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1166.750 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1603.875 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2406.250 KiB
mempool.Compressed Class Space.used: 575.445 KiB
mempool.G1 Eden Space.used: 239616.000 KiB
mempool.G1 Old Gen.used: 4027.000 KiB
mempool.G1 Survivor Space.used: 890.781 KiB
mempool.Metaspace.used: 5250.883 KiB
mempool.total.codeheap.used: 5176.875 KiB
mempool.total.used: 255536.984 KiB
Iteration 2: 80227.971 ops/s
gc.alloc.rate: 9602.225 MB/sec
gc.alloc.rate.norm: 125512.045 B/op
gc.count: 415.000 counts
gc.time: 212.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1136.375 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1607.875 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2426.875 KiB
mempool.Compressed Class Space.used: 576.508 KiB
mempool.G1 Eden Space.used: 239616.000 KiB
mempool.G1 Old Gen.used: 4052.000 KiB
mempool.G1 Survivor Space.used: 925.242 KiB
mempool.Metaspace.used: 5268.703 KiB
mempool.total.codeheap.used: 5171.125 KiB
mempool.total.used: 255609.578 KiB
Result "org.jsoup.bench.ParseFromString.parseMediumString":
80285.240 ±(99.9%) 1131.447 ops/s [Average]
(min, avg, max) = (80179.042, 80285.240, 80545.934), stdev = 175.093
CI (99.9%): [79153.794, 81416.687] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseMediumString:gc.alloc.rate":
9608.083 ±(99.9%) 135.474 MB/sec [Average]
(min, avg, max) = (9594.636, 9608.083, 9639.149), stdev = 20.965
CI (99.9%): [9472.609, 9743.557] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseMediumString:gc.alloc.rate.norm":
125512.048 ±(99.9%) 0.043 B/op [Average]
(min, avg, max) = (125512.045, 125512.048, 125512.058), stdev = 0.007
CI (99.9%): [125512.005, 125512.091] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseMediumString:gc.count":
1659.000 ±(99.9%) 0.001 counts [Sum]
(min, avg, max) = (414.000, 414.750, 416.000), stdev = 0.957
CI (99.9%): [1659.000, 1659.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseMediumString:gc.time":
848.000 ±(99.9%) 0.001 ms [Sum]
(min, avg, max) = (212.000, 212.000, 212.000), stdev = 0.001
CI (99.9%): [848.000, 848.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseMediumString:mempool.CodeHeap 'non-nmethods'.used":
1167.625 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1136.375, 1152.000, 1167.625), stdev = 17.544
CI (99.9%): [1167.625, 1167.625] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseMediumString:mempool.CodeHeap 'non-profiled nmethods'.used":
1607.875 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1570.000, 1588.750, 1607.875), stdev = 19.886
CI (99.9%): [1607.875, 1607.875] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseMediumString:mempool.CodeHeap 'profiled nmethods'.used":
2645.875 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (2406.250, 2526.156, 2645.875), stdev = 127.097
CI (99.9%): [2645.875, 2645.875] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseMediumString:mempool.Compressed Class Space.used":
576.508 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (575.445, 575.977, 576.508), stdev = 0.613
CI (99.9%): [576.508, 576.508] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseMediumString:mempool.G1 Eden Space.used":
239616.000 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (239616.000, 239616.000, 239616.000), stdev = 0.001
CI (99.9%): [239616.000, 239616.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseMediumString:mempool.G1 Old Gen.used":
4052.000 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (4020.500, 4035.625, 4052.000), stdev = 14.442
CI (99.9%): [4052.000, 4052.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseMediumString:mempool.G1 Survivor Space.used":
925.242 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (890.781, 910.549, 925.242), stdev = 15.104
CI (99.9%): [925.242, 925.242] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseMediumString:mempool.Metaspace.used":
5268.703 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (5249.156, 5258.971, 5268.703), stdev = 10.380
CI (99.9%): [5268.703, 5268.703] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseMediumString:mempool.total.codeheap.used":
5363.250 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (5171.125, 5266.906, 5363.250), stdev = 107.341
CI (99.9%): [5363.250, 5363.250] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseMediumString:mempool.total.used":
255777.805 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (255536.984, 255664.027, 255777.805), stdev = 110.507
CI (99.9%): [255777.805, 255777.805] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromString.parseSmallString
# Run progress: 75.00% complete, ETA 00:02:00
# Fork: 1 of 2
# Warmup Iteration 1: 142234.068 ops/s
# Warmup Iteration 2: 227945.955 ops/s
Iteration 1: 227624.683 ops/s
gc.alloc.rate: 19789.126 MB/sec
gc.alloc.rate.norm: 91176.021 B/op
gc.count: 638.000 counts
gc.time: 329.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1166.000 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1728.750 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2364.125 KiB
mempool.Compressed Class Space.used: 576.313 KiB
mempool.G1 Eden Space.used: 320512.000 KiB
mempool.G1 Old Gen.used: 4163.000 KiB
mempool.G1 Survivor Space.used: 668.063 KiB
mempool.Metaspace.used: 5243.461 KiB
mempool.total.codeheap.used: 5258.875 KiB
mempool.total.used: 336421.711 KiB
Iteration 2: 227820.268 ops/s
gc.alloc.rate: 19807.956 MB/sec
gc.alloc.rate.norm: 91176.016 B/op
gc.count: 639.000 counts
gc.time: 327.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1149.625 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1733.125 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2382.375 KiB
mempool.Compressed Class Space.used: 577.375 KiB
mempool.G1 Eden Space.used: 320512.000 KiB
mempool.G1 Old Gen.used: 4185.500 KiB
mempool.G1 Survivor Space.used: 663.609 KiB
mempool.Metaspace.used: 5261.078 KiB
mempool.total.codeheap.used: 5265.125 KiB
mempool.total.used: 336464.688 KiB
# Run progress: 81.25% complete, ETA 00:01:30
# Fork: 2 of 2
# Warmup Iteration 1: 154002.730 ops/s
# Warmup Iteration 2: 225685.116 ops/s
Iteration 1: 224285.800 ops/s
gc.alloc.rate: 19498.524 MB/sec
gc.alloc.rate.norm: 91176.021 B/op
gc.count: 607.000 counts
gc.time: 316.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1166.000 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1549.000 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2314.250 KiB
mempool.Compressed Class Space.used: 575.445 KiB
mempool.G1 Eden Space.used: 331776.000 KiB
mempool.G1 Old Gen.used: 4081.500 KiB
mempool.G1 Survivor Space.used: 657.781 KiB
mempool.Metaspace.used: 5229.414 KiB
mempool.total.codeheap.used: 5029.250 KiB
mempool.total.used: 347349.391 KiB
Iteration 2: 224663.094 ops/s
gc.alloc.rate: 19530.095 MB/sec
gc.alloc.rate.norm: 91176.016 B/op
gc.count: 608.000 counts
gc.time: 318.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1135.625 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1553.125 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2336.125 KiB
mempool.Compressed Class Space.used: 576.508 KiB
mempool.G1 Eden Space.used: 331776.000 KiB
mempool.G1 Old Gen.used: 4104.000 KiB
mempool.G1 Survivor Space.used: 671.906 KiB
mempool.Metaspace.used: 5247.305 KiB
mempool.total.codeheap.used: 5024.875 KiB
mempool.total.used: 347400.594 KiB
Result "org.jsoup.bench.ParseFromString.parseSmallString":
226098.461 ±(99.9%) 12169.599 ops/s [Average]
(min, avg, max) = (224285.800, 226098.461, 227820.268), stdev = 1883.259
CI (99.9%): [213928.863, 238268.060] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseSmallString:gc.alloc.rate":
19656.425 ±(99.9%) 1064.846 MB/sec [Average]
(min, avg, max) = (19498.524, 19656.425, 19807.956), stdev = 164.786
CI (99.9%): [18591.580, 20721.271] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseSmallString:gc.alloc.rate.norm":
91176.018 ±(99.9%) 0.018 B/op [Average]
(min, avg, max) = (91176.016, 91176.018, 91176.021), stdev = 0.003
CI (99.9%): [91176.000, 91176.036] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseSmallString:gc.count":
2492.000 ±(99.9%) 0.001 counts [Sum]
(min, avg, max) = (607.000, 623.000, 639.000), stdev = 17.907
CI (99.9%): [2492.000, 2492.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseSmallString:gc.time":
1290.000 ±(99.9%) 0.001 ms [Sum]
(min, avg, max) = (316.000, 322.500, 329.000), stdev = 6.455
CI (99.9%): [1290.000, 1290.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseSmallString:mempool.CodeHeap 'non-nmethods'.used":
1166.000 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1135.625, 1154.313, 1166.000), stdev = 14.656
CI (99.9%): [1166.000, 1166.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseSmallString:mempool.CodeHeap 'non-profiled nmethods'.used":
1733.125 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1549.000, 1641.000, 1733.125), stdev = 103.880
CI (99.9%): [1733.125, 1733.125] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseSmallString:mempool.CodeHeap 'profiled nmethods'.used":
2382.375 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (2314.250, 2349.219, 2382.375), stdev = 30.088
CI (99.9%): [2382.375, 2382.375] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseSmallString:mempool.Compressed Class Space.used":
577.375 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (575.445, 576.410, 577.375), stdev = 0.792
CI (99.9%): [577.375, 577.375] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseSmallString:mempool.G1 Eden Space.used":
331776.000 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (320512.000, 326144.000, 331776.000), stdev = 6503.273
CI (99.9%): [331776.000, 331776.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseSmallString:mempool.G1 Old Gen.used":
4185.500 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (4081.500, 4133.500, 4185.500), stdev = 48.814
CI (99.9%): [4185.500, 4185.500] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseSmallString:mempool.G1 Survivor Space.used":
671.906 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (657.781, 665.340, 671.906), stdev = 6.073
CI (99.9%): [671.906, 671.906] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseSmallString:mempool.Metaspace.used":
5261.078 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (5229.414, 5245.314, 5261.078), stdev = 13.022
CI (99.9%): [5261.078, 5261.078] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseSmallString:mempool.total.codeheap.used":
5265.125 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (5024.875, 5144.531, 5265.125), stdev = 135.677
CI (99.9%): [5265.125, 5265.125] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseSmallString:mempool.total.used":
347400.594 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (336421.711, 341909.096, 347400.594), stdev = 6311.533
CI (99.9%): [347400.594, 347400.594] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromString.parseTinyString
# Run progress: 87.50% complete, ETA 00:01:00
# Fork: 1 of 2
# Warmup Iteration 1: 447599.631 ops/s
# Warmup Iteration 2: 558729.766 ops/s
Iteration 1: 558280.203 ops/s
gc.alloc.rate: 41920.542 MB/sec
gc.alloc.rate.norm: 78744.008 B/op
gc.count: 928.000 counts
gc.time: 524.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1166.750 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1312.125 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2166.750 KiB
mempool.Compressed Class Space.used: 575.805 KiB
mempool.G1 Eden Space.used: 466944.000 KiB
mempool.G1 Old Gen.used: 4227.000 KiB
mempool.G1 Survivor Space.used: 453.672 KiB
mempool.Metaspace.used: 5206.219 KiB
mempool.total.codeheap.used: 4645.625 KiB
mempool.total.used: 482052.320 KiB
Iteration 2: 559820.115 ops/s
gc.alloc.rate: 42030.284 MB/sec
gc.alloc.rate.norm: 78744.006 B/op
gc.count: 930.000 counts
gc.time: 524.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1150.375 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1319.125 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2190.375 KiB
mempool.Compressed Class Space.used: 576.867 KiB
mempool.G1 Eden Space.used: 466944.000 KiB
mempool.G1 Old Gen.used: 4251.500 KiB
mempool.G1 Survivor Space.used: 451.656 KiB
mempool.Metaspace.used: 5224.766 KiB
mempool.total.codeheap.used: 4659.875 KiB
mempool.total.used: 482108.664 KiB
# Run progress: 93.75% complete, ETA 00:00:30
# Fork: 2 of 2
# Warmup Iteration 1: 446368.744 ops/s
# Warmup Iteration 2: 558356.920 ops/s
Iteration 1: 558886.092 ops/s
gc.alloc.rate: 41965.846 MB/sec
gc.alloc.rate.norm: 78744.008 B/op
gc.count: 932.000 counts
gc.time: 530.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1166.750 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1271.625 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2245.875 KiB
mempool.Compressed Class Space.used: 574.938 KiB
mempool.G1 Eden Space.used: 464896.000 KiB
mempool.G1 Old Gen.used: 4221.000 KiB
mempool.G1 Survivor Space.used: 459.719 KiB
mempool.Metaspace.used: 5210.602 KiB
mempool.total.codeheap.used: 4684.250 KiB
mempool.total.used: 480046.508 KiB
Iteration 2: 558758.987 ops/s
gc.alloc.rate: 41950.120 MB/sec
gc.alloc.rate.norm: 78744.006 B/op
gc.count: 933.000 counts
gc.time: 531.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1136.375 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1275.625 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2270.125 KiB
mempool.Compressed Class Space.used: 576.000 KiB
mempool.G1 Eden Space.used: 464896.000 KiB
mempool.G1 Old Gen.used: 4246.000 KiB
mempool.G1 Survivor Space.used: 522.750 KiB
mempool.Metaspace.used: 5230.016 KiB
mempool.total.codeheap.used: 4682.125 KiB
mempool.total.used: 480152.891 KiB
Result "org.jsoup.bench.ParseFromString.parseTinyString":
558936.349 ±(99.9%) 4163.768 ops/s [Average]
(min, avg, max) = (558280.203, 558936.349, 559820.115), stdev = 644.348
CI (99.9%): [554772.581, 563100.117] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseTinyString:gc.alloc.rate":
41966.698 ±(99.9%) 299.611 MB/sec [Average]
(min, avg, max) = (41920.542, 41966.698, 42030.284), stdev = 46.365
CI (99.9%): [41667.087, 42266.309] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseTinyString:gc.alloc.rate.norm":
78744.007 ±(99.9%) 0.007 B/op [Average]
(min, avg, max) = (78744.006, 78744.007, 78744.008), stdev = 0.001
CI (99.9%): [78744.000, 78744.015] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseTinyString:gc.count":
3723.000 ±(99.9%) 0.001 counts [Sum]
(min, avg, max) = (928.000, 930.750, 933.000), stdev = 2.217
CI (99.9%): [3723.000, 3723.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseTinyString:gc.time":
2109.000 ±(99.9%) 0.001 ms [Sum]
(min, avg, max) = (524.000, 527.250, 531.000), stdev = 3.775
CI (99.9%): [2109.000, 2109.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseTinyString:mempool.CodeHeap 'non-nmethods'.used":
1166.750 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1136.375, 1155.063, 1166.750), stdev = 14.656
CI (99.9%): [1166.750, 1166.750] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseTinyString:mempool.CodeHeap 'non-profiled nmethods'.used":
1319.125 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1271.625, 1294.625, 1319.125), stdev = 24.471
CI (99.9%): [1319.125, 1319.125] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseTinyString:mempool.CodeHeap 'profiled nmethods'.used":
2270.125 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (2166.750, 2218.281, 2270.125), stdev = 47.901
CI (99.9%): [2270.125, 2270.125] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseTinyString:mempool.Compressed Class Space.used":
576.867 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (574.938, 575.902, 576.867), stdev = 0.792
CI (99.9%): [576.867, 576.867] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseTinyString:mempool.G1 Eden Space.used":
466944.000 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (464896.000, 465920.000, 466944.000), stdev = 1182.413
CI (99.9%): [466944.000, 466944.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseTinyString:mempool.G1 Old Gen.used":
4251.500 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (4221.000, 4236.375, 4251.500), stdev = 14.671
CI (99.9%): [4251.500, 4251.500] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseTinyString:mempool.G1 Survivor Space.used":
522.750 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (451.656, 471.949, 522.750), stdev = 34.040
CI (99.9%): [522.750, 522.750] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseTinyString:mempool.Metaspace.used":
5230.016 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (5206.219, 5217.900, 5230.016), stdev = 11.308
CI (99.9%): [5230.016, 5230.016] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseTinyString:mempool.total.codeheap.used":
4684.250 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (4645.625, 4667.969, 4684.250), stdev = 18.531
CI (99.9%): [4684.250, 4684.250] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseTinyString:mempool.total.used":
482108.664 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (480046.508, 481090.096, 482108.664), stdev = 1144.667
CI (99.9%): [482108.664, 482108.664] (assumes normal distribution)
# Run complete. Total time: 00:08:03
REMEMBER: The numbers below are just data. To gain reusable insights, you need to follow up on
why the numbers are the way they are. Use profilers (see -prof, -lprof), design factorial
experiments, perform baseline and negative tests that provide experimental control, make sure
the benchmarking environment is safe on JVM/OS/HW level, ask for reviews from the domain experts.
Do not assume the numbers tell you what you want them to tell.
NOTE: Current JVM experimentally supports Compiler Blackholes, and they are in use. Please exercise
extra caution when trusting the results, look into the generated code to check the benchmark still
works, and factor in a small probability of new VM bugs. Additionally, while comparisons between
different JVMs are already problematic, the performance difference caused by different Blackhole
modes can be very significant. Please make sure you use the consistent Blackhole mode for comparisons.
Benchmark Mode Cnt Score Error Units
ParseFromInputStream.parseLargeInput thrpt 4 1569.390 ± 177.149 ops/s
ParseFromInputStream.parseLargeInput:gc.alloc.rate thrpt 4 3566.609 ± 401.281 MB/sec
ParseFromInputStream.parseLargeInput:gc.alloc.rate.norm thrpt 4 2383758.456 ± 30.931 B/op
ParseFromInputStream.parseLargeInput:gc.count thrpt 4 504.000 counts
ParseFromInputStream.parseLargeInput:gc.time thrpt 4 1045.000 ms
ParseFromInputStream.parseLargeInput:mempool.CodeHeap 'non-nmethods'.used thrpt 4 1166.875 KiB
ParseFromInputStream.parseLargeInput:mempool.CodeHeap 'non-profiled nmethods'.used thrpt 4 2319.000 KiB
ParseFromInputStream.parseLargeInput:mempool.CodeHeap 'profiled nmethods'.used thrpt 4 3632.375 KiB
ParseFromInputStream.parseLargeInput:mempool.Compressed Class Space.used thrpt 4 576.992 KiB
ParseFromInputStream.parseLargeInput:mempool.G1 Eden Space.used thrpt 4 312320.000 KiB
ParseFromInputStream.parseLargeInput:mempool.G1 Old Gen.used thrpt 4 126095.500 KiB
ParseFromInputStream.parseLargeInput:mempool.G1 Survivor Space.used thrpt 4 14862.406 KiB
ParseFromInputStream.parseLargeInput:mempool.Metaspace.used thrpt 4 5452.531 KiB
ParseFromInputStream.parseLargeInput:mempool.total.codeheap.used thrpt 4 6884.000 KiB
ParseFromInputStream.parseLargeInput:mempool.total.used thrpt 4 465596.836 KiB
ParseFromInputStream.parseMediumInput thrpt 4 43647.242 ± 640.375 ops/s
ParseFromInputStream.parseMediumInput:gc.alloc.rate thrpt 4 10816.053 ± 158.414 MB/sec
ParseFromInputStream.parseMediumInput:gc.alloc.rate.norm thrpt 4 259880.089 ± 0.081 B/op
ParseFromInputStream.parseMediumInput:gc.count thrpt 4 1871.000 counts
ParseFromInputStream.parseMediumInput:gc.time thrpt 4 970.000 ms
ParseFromInputStream.parseMediumInput:mempool.CodeHeap 'non-nmethods'.used thrpt 4 1165.000 KiB
ParseFromInputStream.parseMediumInput:mempool.CodeHeap 'non-profiled nmethods'.used thrpt 4 2031.375 KiB
ParseFromInputStream.parseMediumInput:mempool.CodeHeap 'profiled nmethods'.used thrpt 4 3459.500 KiB
ParseFromInputStream.parseMediumInput:mempool.Compressed Class Space.used thrpt 4 577.047 KiB
ParseFromInputStream.parseMediumInput:mempool.G1 Eden Space.used thrpt 4 240640.000 KiB
ParseFromInputStream.parseMediumInput:mempool.G1 Old Gen.used thrpt 4 3239.500 KiB
ParseFromInputStream.parseMediumInput:mempool.G1 Survivor Space.used thrpt 4 1824.820 KiB
ParseFromInputStream.parseMediumInput:mempool.Metaspace.used thrpt 4 5468.922 KiB
ParseFromInputStream.parseMediumInput:mempool.total.codeheap.used thrpt 4 6633.875 KiB
ParseFromInputStream.parseMediumInput:mempool.total.used thrpt 4 258182.695 KiB
ParseFromInputStream.parseSmallInput thrpt 4 77089.462 ± 3658.554 ops/s
ParseFromInputStream.parseSmallInput:gc.alloc.rate thrpt 4 16047.610 ± 749.816 MB/sec
ParseFromInputStream.parseSmallInput:gc.alloc.rate.norm thrpt 4 218304.050 ± 179.056 B/op
ParseFromInputStream.parseSmallInput:gc.count thrpt 4 2360.000 counts
ParseFromInputStream.parseSmallInput:gc.time thrpt 4 1065.000 ms
ParseFromInputStream.parseSmallInput:mempool.CodeHeap 'non-nmethods'.used thrpt 4 1151.000 KiB
ParseFromInputStream.parseSmallInput:mempool.CodeHeap 'non-profiled nmethods'.used thrpt 4 2681.500 KiB
ParseFromInputStream.parseSmallInput:mempool.CodeHeap 'profiled nmethods'.used thrpt 4 3453.250 KiB
ParseFromInputStream.parseSmallInput:mempool.Compressed Class Space.used thrpt 4 577.047 KiB
ParseFromInputStream.parseSmallInput:mempool.G1 Eden Space.used thrpt 4 282208.031 KiB
ParseFromInputStream.parseSmallInput:mempool.G1 Old Gen.used thrpt 4 3218.500 KiB
ParseFromInputStream.parseSmallInput:mempool.G1 Survivor Space.used thrpt 4 1056.469 KiB
ParseFromInputStream.parseSmallInput:mempool.Metaspace.used thrpt 4 5461.461 KiB
ParseFromInputStream.parseSmallInput:mempool.total.codeheap.used thrpt 4 7257.250 KiB
ParseFromInputStream.parseSmallInput:mempool.total.used thrpt 4 298946.359 KiB
ParseFromInputStream.parseTinyInput thrpt 4 124379.250 ± 4675.699 ops/s
ParseFromInputStream.parseTinyInput:gc.alloc.rate thrpt 4 23682.251 ± 891.805 MB/sec
ParseFromInputStream.parseTinyInput:gc.alloc.rate.norm thrpt 4 199672.033 ± 0.032 B/op
ParseFromInputStream.parseTinyInput:gc.count thrpt 4 3214.000 counts
ParseFromInputStream.parseTinyInput:gc.time thrpt 4 1170.000 ms
ParseFromInputStream.parseTinyInput:mempool.CodeHeap 'non-nmethods'.used thrpt 4 1150.875 KiB
ParseFromInputStream.parseTinyInput:mempool.CodeHeap 'non-profiled nmethods'.used thrpt 4 2214.375 KiB
ParseFromInputStream.parseTinyInput:mempool.CodeHeap 'profiled nmethods'.used thrpt 4 3157.375 KiB
ParseFromInputStream.parseTinyInput:mempool.Compressed Class Space.used thrpt 4 576.477 KiB
ParseFromInputStream.parseTinyInput:mempool.G1 Eden Space.used thrpt 4 313344.000 KiB
ParseFromInputStream.parseTinyInput:mempool.G1 Old Gen.used thrpt 4 3062.500 KiB
ParseFromInputStream.parseTinyInput:mempool.G1 Survivor Space.used thrpt 4 752.008 KiB
ParseFromInputStream.parseTinyInput:mempool.Metaspace.used thrpt 4 5425.688 KiB
ParseFromInputStream.parseTinyInput:mempool.total.codeheap.used thrpt 4 6522.625 KiB
ParseFromInputStream.parseTinyInput:mempool.total.used thrpt 4 329352.484 KiB
ParseFromString.parseLargeString thrpt 4 1806.694 ± 40.238 ops/s
ParseFromString.parseLargeString:gc.alloc.rate thrpt 4 3871.768 ± 86.627 MB/sec
ParseFromString.parseLargeString:gc.alloc.rate.norm thrpt 4 2247786.139 ± 1.883 B/op
ParseFromString.parseLargeString:gc.count thrpt 4 461.000 counts
ParseFromString.parseLargeString:gc.time thrpt 4 960.000 ms
ParseFromString.parseLargeString:mempool.CodeHeap 'non-nmethods'.used thrpt 4 1167.500 KiB
ParseFromString.parseLargeString:mempool.CodeHeap 'non-profiled nmethods'.used thrpt 4 1407.375 KiB
ParseFromString.parseLargeString:mempool.CodeHeap 'profiled nmethods'.used thrpt 4 2638.750 KiB
ParseFromString.parseLargeString:mempool.Compressed Class Space.used thrpt 4 576.508 KiB
ParseFromString.parseLargeString:mempool.G1 Eden Space.used thrpt 4 407552.000 KiB
ParseFromString.parseLargeString:mempool.G1 Old Gen.used thrpt 4 132364.500 KiB
ParseFromString.parseLargeString:mempool.G1 Survivor Space.used thrpt 4 14548.719 KiB
ParseFromString.parseLargeString:mempool.Metaspace.used thrpt 4 5251.492 KiB
ParseFromString.parseLargeString:mempool.total.codeheap.used thrpt 4 5166.375 KiB
ParseFromString.parseLargeString:mempool.total.used thrpt 4 565404.125 KiB
ParseFromString.parseMediumString thrpt 4 80285.240 ± 1131.447 ops/s
ParseFromString.parseMediumString:gc.alloc.rate thrpt 4 9608.083 ± 135.474 MB/sec
ParseFromString.parseMediumString:gc.alloc.rate.norm thrpt 4 125512.048 ± 0.043 B/op
ParseFromString.parseMediumString:gc.count thrpt 4 1659.000 counts
ParseFromString.parseMediumString:gc.time thrpt 4 848.000 ms
ParseFromString.parseMediumString:mempool.CodeHeap 'non-nmethods'.used thrpt 4 1167.625 KiB
ParseFromString.parseMediumString:mempool.CodeHeap 'non-profiled nmethods'.used thrpt 4 1607.875 KiB
ParseFromString.parseMediumString:mempool.CodeHeap 'profiled nmethods'.used thrpt 4 2645.875 KiB
ParseFromString.parseMediumString:mempool.Compressed Class Space.used thrpt 4 576.508 KiB
ParseFromString.parseMediumString:mempool.G1 Eden Space.used thrpt 4 239616.000 KiB
ParseFromString.parseMediumString:mempool.G1 Old Gen.used thrpt 4 4052.000 KiB
ParseFromString.parseMediumString:mempool.G1 Survivor Space.used thrpt 4 925.242 KiB
ParseFromString.parseMediumString:mempool.Metaspace.used thrpt 4 5268.703 KiB
ParseFromString.parseMediumString:mempool.total.codeheap.used thrpt 4 5363.250 KiB
ParseFromString.parseMediumString:mempool.total.used thrpt 4 255777.805 KiB
ParseFromString.parseSmallString thrpt 4 226098.461 ± 12169.599 ops/s
ParseFromString.parseSmallString:gc.alloc.rate thrpt 4 19656.425 ± 1064.846 MB/sec
ParseFromString.parseSmallString:gc.alloc.rate.norm thrpt 4 91176.018 ± 0.018 B/op
ParseFromString.parseSmallString:gc.count thrpt 4 2492.000 counts
ParseFromString.parseSmallString:gc.time thrpt 4 1290.000 ms
ParseFromString.parseSmallString:mempool.CodeHeap 'non-nmethods'.used thrpt 4 1166.000 KiB
ParseFromString.parseSmallString:mempool.CodeHeap 'non-profiled nmethods'.used thrpt 4 1733.125 KiB
ParseFromString.parseSmallString:mempool.CodeHeap 'profiled nmethods'.used thrpt 4 2382.375 KiB
ParseFromString.parseSmallString:mempool.Compressed Class Space.used thrpt 4 577.375 KiB
ParseFromString.parseSmallString:mempool.G1 Eden Space.used thrpt 4 331776.000 KiB
ParseFromString.parseSmallString:mempool.G1 Old Gen.used thrpt 4 4185.500 KiB
ParseFromString.parseSmallString:mempool.G1 Survivor Space.used thrpt 4 671.906 KiB
ParseFromString.parseSmallString:mempool.Metaspace.used thrpt 4 5261.078 KiB
ParseFromString.parseSmallString:mempool.total.codeheap.used thrpt 4 5265.125 KiB
ParseFromString.parseSmallString:mempool.total.used thrpt 4 347400.594 KiB
ParseFromString.parseTinyString thrpt 4 558936.349 ± 4163.768 ops/s
ParseFromString.parseTinyString:gc.alloc.rate thrpt 4 41966.698 ± 299.611 MB/sec
ParseFromString.parseTinyString:gc.alloc.rate.norm thrpt 4 78744.007 ± 0.007 B/op
ParseFromString.parseTinyString:gc.count thrpt 4 3723.000 counts
ParseFromString.parseTinyString:gc.time thrpt 4 2109.000 ms
ParseFromString.parseTinyString:mempool.CodeHeap 'non-nmethods'.used thrpt 4 1166.750 KiB
ParseFromString.parseTinyString:mempool.CodeHeap 'non-profiled nmethods'.used thrpt 4 1319.125 KiB
ParseFromString.parseTinyString:mempool.CodeHeap 'profiled nmethods'.used thrpt 4 2270.125 KiB
ParseFromString.parseTinyString:mempool.Compressed Class Space.used thrpt 4 576.867 KiB
ParseFromString.parseTinyString:mempool.G1 Eden Space.used thrpt 4 466944.000 KiB
ParseFromString.parseTinyString:mempool.G1 Old Gen.used thrpt 4 4251.500 KiB
ParseFromString.parseTinyString:mempool.G1 Survivor Space.used thrpt 4 522.750 KiB
ParseFromString.parseTinyString:mempool.Metaspace.used thrpt 4 5230.016 KiB
ParseFromString.parseTinyString:mempool.total.codeheap.used thrpt 4 4684.250 KiB
ParseFromString.parseTinyString:mempool.total.used thrpt 4 482108.664 KiB
% java -jar target/jsoup-bench.jar -r 10 -wi 2 -w 5 -t max -f 2 -i 2
# Detecting actual CPU count: 8 detected
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromInputStream.parseLargeInput
# Run progress: 0.00% complete, ETA 00:08:00
# Fork: 1 of 2
# Warmup Iteration 1: 1411.190 ops/s
# Warmup Iteration 2: 1628.290 ops/s
Iteration 1: 1636.235 ops/s
Iteration 2: 1629.968 ops/s
# Run progress: 6.25% complete, ETA 00:07:33
# Fork: 2 of 2
# Warmup Iteration 1: 1429.693 ops/s
# Warmup Iteration 2: 1628.988 ops/s
Iteration 1: 1646.016 ops/s
Iteration 2: 1646.598 ops/s
Result "org.jsoup.bench.ParseFromInputStream.parseLargeInput":
1639.704 ±(99.9%) 51.991 ops/s [Average]
(min, avg, max) = (1629.968, 1639.704, 1646.598), stdev = 8.046
CI (99.9%): [1587.713, 1691.695] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromInputStream.parseMediumInput
# Run progress: 12.50% complete, ETA 00:07:02
# Fork: 1 of 2
# Warmup Iteration 1: 35189.072 ops/s
# Warmup Iteration 2: 43536.026 ops/s
Iteration 1: 43775.249 ops/s
Iteration 2: 43731.442 ops/s
# Run progress: 18.75% complete, ETA 00:06:32
# Fork: 2 of 2
# Warmup Iteration 1: 35977.409 ops/s
# Warmup Iteration 2: 43313.642 ops/s
Iteration 1: 43470.082 ops/s
Iteration 2: 43429.351 ops/s
Result "org.jsoup.bench.ParseFromInputStream.parseMediumInput":
43601.531 ±(99.9%) 1143.727 ops/s [Average]
(min, avg, max) = (43429.351, 43601.531, 43775.249), stdev = 176.993
CI (99.9%): [42457.804, 44745.258] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromInputStream.parseSmallInput
# Run progress: 25.00% complete, ETA 00:06:02
# Fork: 1 of 2
# Warmup Iteration 1: 68913.872 ops/s
# Warmup Iteration 2: 77910.769 ops/s
Iteration 1: 78007.701 ops/s
Iteration 2: 78005.479 ops/s
# Run progress: 31.25% complete, ETA 00:05:31
# Fork: 2 of 2
# Warmup Iteration 1: 68356.712 ops/s
# Warmup Iteration 2: 77903.639 ops/s
Iteration 1: 77982.016 ops/s
Iteration 2: 77929.290 ops/s
Result "org.jsoup.bench.ParseFromInputStream.parseSmallInput":
77981.121 ±(99.9%) 235.578 ops/s [Average]
(min, avg, max) = (77929.290, 77981.121, 78007.701), stdev = 36.456
CI (99.9%): [77745.543, 78216.700] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromInputStream.parseTinyInput
# Run progress: 37.50% complete, ETA 00:05:01
# Fork: 1 of 2
# Warmup Iteration 1: 100662.921 ops/s
# Warmup Iteration 2: 122771.244 ops/s
Iteration 1: 123165.334 ops/s
Iteration 2: 123291.166 ops/s
# Run progress: 43.75% complete, ETA 00:04:31
# Fork: 2 of 2
# Warmup Iteration 1: 99371.629 ops/s
# Warmup Iteration 2: 124372.981 ops/s
Iteration 1: 124140.070 ops/s
Iteration 2: 124074.227 ops/s
Result "org.jsoup.bench.ParseFromInputStream.parseTinyInput":
123667.699 ±(99.9%) 3300.356 ops/s [Average]
(min, avg, max) = (123165.334, 123667.699, 124140.070), stdev = 510.734
CI (99.9%): [120367.343, 126968.055] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromString.parseLargeString
# Run progress: 50.00% complete, ETA 00:04:01
# Fork: 1 of 2
# Warmup Iteration 1: 1619.188 ops/s
# Warmup Iteration 2: 1824.078 ops/s
Iteration 1: 1822.437 ops/s
Iteration 2: 1827.747 ops/s
# Run progress: 56.25% complete, ETA 00:03:31
# Fork: 2 of 2
# Warmup Iteration 1: 1596.585 ops/s
# Warmup Iteration 2: 1816.117 ops/s
Iteration 1: 1813.566 ops/s
Iteration 2: 1804.290 ops/s
Result "org.jsoup.bench.ParseFromString.parseLargeString":
1817.010 ±(99.9%) 66.573 ops/s [Average]
(min, avg, max) = (1804.290, 1817.010, 1827.747), stdev = 10.302
CI (99.9%): [1750.437, 1883.582] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromString.parseMediumString
# Run progress: 62.50% complete, ETA 00:03:01
# Fork: 1 of 2
# Warmup Iteration 1: 69427.396 ops/s
# Warmup Iteration 2: 79648.590 ops/s
Iteration 1: 79539.429 ops/s
Iteration 2: 79791.634 ops/s
# Run progress: 68.75% complete, ETA 00:02:30
# Fork: 2 of 2
# Warmup Iteration 1: 68998.962 ops/s
# Warmup Iteration 2: 78479.644 ops/s
Iteration 1: 78369.687 ops/s
Iteration 2: 77696.470 ops/s
Result "org.jsoup.bench.ParseFromString.parseMediumString":
78849.305 ±(99.9%) 6378.866 ops/s [Average]
(min, avg, max) = (77696.470, 78849.305, 79791.634), stdev = 987.137
CI (99.9%): [72470.439, 85228.171] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromString.parseSmallString
# Run progress: 75.00% complete, ETA 00:02:00
# Fork: 1 of 2
# Warmup Iteration 1: 199125.438 ops/s
# Warmup Iteration 2: 229844.492 ops/s
Iteration 1: 229888.277 ops/s
Iteration 2: 229495.033 ops/s
# Run progress: 81.25% complete, ETA 00:01:30
# Fork: 2 of 2
# Warmup Iteration 1: 202317.036 ops/s
# Warmup Iteration 2: 230551.031 ops/s
Iteration 1: 231625.857 ops/s
Iteration 2: 224730.378 ops/s
Result "org.jsoup.bench.ParseFromString.parseSmallString":
228934.886 ±(99.9%) 19075.437 ops/s [Average]
(min, avg, max) = (224730.378, 228934.886, 231625.857), stdev = 2951.945
CI (99.9%): [209859.449, 248010.323] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromString.parseTinyString
# Run progress: 87.50% complete, ETA 00:01:00
# Fork: 1 of 2
# Warmup Iteration 1: 506432.410 ops/s
# Warmup Iteration 2: 558985.655 ops/s
Iteration 1: 559245.116 ops/s
Iteration 2: 557478.524 ops/s
# Run progress: 93.75% complete, ETA 00:00:30
# Fork: 2 of 2
# Warmup Iteration 1: 503199.636 ops/s
# Warmup Iteration 2: 559337.215 ops/s
Iteration 1: 559449.694 ops/s
Iteration 2: 559545.783 ops/s
Result "org.jsoup.bench.ParseFromString.parseTinyString":
558929.779 ±(99.9%) 6304.277 ops/s [Average]
(min, avg, max) = (557478.524, 558929.779, 559545.783), stdev = 975.594
CI (99.9%): [552625.503, 565234.056] (assumes normal distribution)
# Run complete. Total time: 00:08:02
REMEMBER: The numbers below are just data. To gain reusable insights, you need to follow up on
why the numbers are the way they are. Use profilers (see -prof, -lprof), design factorial
experiments, perform baseline and negative tests that provide experimental control, make sure
the benchmarking environment is safe on JVM/OS/HW level, ask for reviews from the domain experts.
Do not assume the numbers tell you what you want them to tell.
NOTE: Current JVM experimentally supports Compiler Blackholes, and they are in use. Please exercise
extra caution when trusting the results, look into the generated code to check the benchmark still
works, and factor in a small probability of new VM bugs. Additionally, while comparisons between
different JVMs are already problematic, the performance difference caused by different Blackhole
modes can be very significant. Please make sure you use the consistent Blackhole mode for comparisons.
Benchmark Mode Cnt Score Error Units
ParseFromInputStream.parseLargeInput thrpt 4 1639.704 ± 51.991 ops/s
ParseFromInputStream.parseMediumInput thrpt 4 43601.531 ± 1143.727 ops/s
ParseFromInputStream.parseSmallInput thrpt 4 77981.121 ± 235.578 ops/s
ParseFromInputStream.parseTinyInput thrpt 4 123667.699 ± 3300.356 ops/s
ParseFromString.parseLargeString thrpt 4 1817.010 ± 66.573 ops/s
ParseFromString.parseMediumString thrpt 4 78849.305 ± 6378.866 ops/s
ParseFromString.parseSmallString thrpt 4 228934.886 ± 19075.437 ops/s
ParseFromString.parseTinyString thrpt 4 558929.779 ± 6304.277 ops/s
% java -jar target/jsoup-bench.jar -r 10 -wi 2 -w 5 -t max -f 2 -i 2 -prof gc -prof mempool
# Detecting actual CPU count: 8 detected
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromInputStream.parseLargeInput
# Run progress: 0.00% complete, ETA 00:08:00
# Fork: 1 of 2
# Warmup Iteration 1: 1401.625 ops/s
# Warmup Iteration 2: 1552.999 ops/s
Iteration 1: 1559.911 ops/s
gc.alloc.rate: 3336.744 MB/sec
gc.alloc.rate.norm: 2243698.991 B/op
gc.count: 98.000 counts
gc.time: 197.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1137.125 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1715.125 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3198.000 KiB
mempool.Compressed Class Space.used: 577.859 KiB
mempool.G1 Eden Space.used: 355328.000 KiB
mempool.G1 Old Gen.used: 91822.000 KiB
mempool.G1 Survivor Space.used: 12156.344 KiB
mempool.Metaspace.used: 5442.594 KiB
mempool.total.codeheap.used: 6050.250 KiB
mempool.total.used: 471377.047 KiB
Iteration 2: 1556.993 ops/s
gc.alloc.rate: 3330.652 MB/sec
gc.alloc.rate.norm: 2243698.312 B/op
gc.count: 98.000 counts
gc.time: 202.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1137.125 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1718.375 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3219.625 KiB
mempool.Compressed Class Space.used: 578.922 KiB
mempool.G1 Eden Space.used: 355328.000 KiB
mempool.G1 Old Gen.used: 91844.500 KiB
mempool.G1 Survivor Space.used: 13192.063 KiB
mempool.Metaspace.used: 5461.813 KiB
mempool.total.codeheap.used: 6075.125 KiB
mempool.total.used: 472480.422 KiB
# Run progress: 6.25% complete, ETA 00:07:33
# Fork: 2 of 2
# Warmup Iteration 1: 1283.489 ops/s
# Warmup Iteration 2: 1521.689 ops/s
Iteration 1: 1538.530 ops/s
gc.alloc.rate: 3290.801 MB/sec
gc.alloc.rate.norm: 2243507.029 B/op
gc.count: 97.000 counts
gc.time: 193.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1137.125 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1745.125 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3551.125 KiB
mempool.Compressed Class Space.used: 577.859 KiB
mempool.G1 Eden Space.used: 355328.000 KiB
mempool.G1 Old Gen.used: 91709.500 KiB
mempool.G1 Survivor Space.used: 12288.000 KiB
mempool.Metaspace.used: 5441.445 KiB
mempool.total.codeheap.used: 6433.375 KiB
mempool.total.used: 471778.180 KiB
Iteration 2: 1538.108 ops/s
gc.alloc.rate: 3289.915 MB/sec
gc.alloc.rate.norm: 2243506.333 B/op
gc.count: 97.000 counts
gc.time: 196.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1137.125 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1749.125 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3572.250 KiB
mempool.Compressed Class Space.used: 578.922 KiB
mempool.G1 Eden Space.used: 356352.000 KiB
mempool.G1 Old Gen.used: 91732.000 KiB
mempool.G1 Survivor Space.used: 12717.500 KiB
mempool.Metaspace.used: 5461.031 KiB
mempool.total.codeheap.used: 6458.500 KiB
mempool.total.used: 473299.953 KiB
Result "org.jsoup.bench.ParseFromInputStream.parseLargeInput":
1548.385 ±(99.9%) 75.514 ops/s [Average]
(min, avg, max) = (1538.108, 1548.385, 1559.911), stdev = 11.686
CI (99.9%): [1472.872, 1623.899] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseLargeInput:gc.alloc.rate":
3312.028 ±(99.9%) 162.508 MB/sec [Average]
(min, avg, max) = (3289.915, 3312.028, 3336.744), stdev = 25.148
CI (99.9%): [3149.520, 3474.536] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseLargeInput:gc.alloc.rate.norm":
2243602.666 ±(99.9%) 716.214 B/op [Average]
(min, avg, max) = (2243506.333, 2243602.666, 2243698.991), stdev = 110.835
CI (99.9%): [2242886.453, 2244318.880] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseLargeInput:gc.count":
390.000 ±(99.9%) 0.001 counts [Sum]
(min, avg, max) = (97.000, 97.500, 98.000), stdev = 0.577
CI (99.9%): [390.000, 390.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseLargeInput:gc.time":
788.000 ±(99.9%) 0.001 ms [Sum]
(min, avg, max) = (193.000, 197.000, 202.000), stdev = 3.742
CI (99.9%): [788.000, 788.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseLargeInput:mempool.CodeHeap 'non-nmethods'.used":
1137.125 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1137.125, 1137.125, 1137.125), stdev = 0.001
CI (99.9%): [1137.125, 1137.125] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseLargeInput:mempool.CodeHeap 'non-profiled nmethods'.used":
1749.125 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1715.125, 1731.938, 1749.125), stdev = 17.663
CI (99.9%): [1749.125, 1749.125] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseLargeInput:mempool.CodeHeap 'profiled nmethods'.used":
3572.250 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (3198.000, 3385.250, 3572.250), stdev = 204.106
CI (99.9%): [3572.250, 3572.250] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseLargeInput:mempool.Compressed Class Space.used":
578.922 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (577.859, 578.391, 578.922), stdev = 0.613
CI (99.9%): [578.922, 578.922] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseLargeInput:mempool.G1 Eden Space.used":
356352.000 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (355328.000, 355584.000, 356352.000), stdev = 512.000
CI (99.9%): [356352.000, 356352.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseLargeInput:mempool.G1 Old Gen.used":
91844.500 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (91709.500, 91777.000, 91844.500), stdev = 66.238
CI (99.9%): [91844.500, 91844.500] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseLargeInput:mempool.G1 Survivor Space.used":
13192.063 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (12156.344, 12588.477, 13192.063), stdev = 468.326
CI (99.9%): [13192.063, 13192.063] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseLargeInput:mempool.Metaspace.used":
5461.813 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (5441.445, 5451.721, 5461.813), stdev = 11.216
CI (99.9%): [5461.813, 5461.813] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseLargeInput:mempool.total.codeheap.used":
6458.500 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (6050.250, 6254.313, 6458.500), stdev = 221.740
CI (99.9%): [6458.500, 6458.500] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseLargeInput:mempool.total.used":
473299.953 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (471377.047, 472233.900, 473299.953), stdev = 844.417
CI (99.9%): [473299.953, 473299.953] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromInputStream.parseMediumInput
# Run progress: 12.50% complete, ETA 00:07:03
# Fork: 1 of 2
# Warmup Iteration 1: 36315.729 ops/s
# Warmup Iteration 2: 48644.024 ops/s
Iteration 1: 48942.907 ops/s
gc.alloc.rate: 3465.247 MB/sec
gc.alloc.rate.norm: 74248.096 B/op
gc.count: 317.000 counts
gc.time: 118.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1137.125 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 2604.875 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3577.000 KiB
mempool.Compressed Class Space.used: 577.859 KiB
mempool.G1 Eden Space.used: 113664.000 KiB
mempool.G1 Old Gen.used: 3357.000 KiB
mempool.G1 Survivor Space.used: 439.281 KiB
mempool.Metaspace.used: 5452.141 KiB
mempool.total.codeheap.used: 7319.000 KiB
mempool.total.used: 130809.281 KiB
Iteration 2: 49054.549 ops/s
gc.alloc.rate: 3473.049 MB/sec
gc.alloc.rate.norm: 74248.073 B/op
gc.count: 317.000 counts
gc.time: 116.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1164.875 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 2612.625 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3599.125 KiB
mempool.Compressed Class Space.used: 578.922 KiB
mempool.G1 Eden Space.used: 113957.586 KiB
mempool.G1 Old Gen.used: 3373.500 KiB
mempool.G1 Survivor Space.used: 442.094 KiB
mempool.Metaspace.used: 5471.938 KiB
mempool.total.codeheap.used: 7376.625 KiB
mempool.total.used: 131200.664 KiB
# Run progress: 18.75% complete, ETA 00:06:32
# Fork: 2 of 2
# Warmup Iteration 1: 34696.602 ops/s
# Warmup Iteration 2: 48641.417 ops/s
Iteration 1: 48700.752 ops/s
gc.alloc.rate: 3439.094 MB/sec
gc.alloc.rate.norm: 74056.096 B/op
gc.count: 260.000 counts
gc.time: 100.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1137.125 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 3267.375 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3293.875 KiB
mempool.Compressed Class Space.used: 577.859 KiB
mempool.G1 Eden Space.used: 137216.000 KiB
mempool.G1 Old Gen.used: 3348.000 KiB
mempool.G1 Survivor Space.used: 415.438 KiB
mempool.Metaspace.used: 5455.094 KiB
mempool.total.codeheap.used: 7698.375 KiB
mempool.total.used: 154710.766 KiB
Iteration 2: 48716.846 ops/s
gc.alloc.rate: 3440.226 MB/sec
gc.alloc.rate.norm: 74056.074 B/op
gc.count: 260.000 counts
gc.time: 101.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1151.000 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 3272.250 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3314.750 KiB
mempool.Compressed Class Space.used: 578.922 KiB
mempool.G1 Eden Space.used: 137216.000 KiB
mempool.G1 Old Gen.used: 3364.500 KiB
mempool.G1 Survivor Space.used: 436.102 KiB
mempool.Metaspace.used: 5474.375 KiB
mempool.total.codeheap.used: 7738.000 KiB
mempool.total.used: 154807.898 KiB
Result "org.jsoup.bench.ParseFromInputStream.parseMediumInput":
48853.763 ±(99.9%) 1121.859 ops/s [Average]
(min, avg, max) = (48700.752, 48853.763, 49054.549), stdev = 173.609
CI (99.9%): [47731.904, 49975.622] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseMediumInput:gc.alloc.rate":
3454.404 ±(99.9%) 111.963 MB/sec [Average]
(min, avg, max) = (3439.094, 3454.404, 3473.049), stdev = 17.326
CI (99.9%): [3342.440, 3566.367] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseMediumInput:gc.alloc.rate.norm":
74152.085 ±(99.9%) 716.318 B/op [Average]
(min, avg, max) = (74056.074, 74152.085, 74248.096), stdev = 110.851
CI (99.9%): [73435.766, 74868.403] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseMediumInput:gc.count":
1154.000 ±(99.9%) 0.001 counts [Sum]
(min, avg, max) = (260.000, 288.500, 317.000), stdev = 32.909
CI (99.9%): [1154.000, 1154.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseMediumInput:gc.time":
435.000 ±(99.9%) 0.001 ms [Sum]
(min, avg, max) = (100.000, 108.750, 118.000), stdev = 9.570
CI (99.9%): [435.000, 435.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseMediumInput:mempool.CodeHeap 'non-nmethods'.used":
1164.875 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1137.125, 1147.531, 1164.875), stdev = 13.284
CI (99.9%): [1164.875, 1164.875] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseMediumInput:mempool.CodeHeap 'non-profiled nmethods'.used":
3272.250 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (2604.875, 2939.281, 3272.250), stdev = 381.683
CI (99.9%): [3272.250, 3272.250] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseMediumInput:mempool.CodeHeap 'profiled nmethods'.used":
3599.125 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (3293.875, 3446.188, 3599.125), stdev = 164.293
CI (99.9%): [3599.125, 3599.125] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseMediumInput:mempool.Compressed Class Space.used":
578.922 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (577.859, 578.391, 578.922), stdev = 0.613
CI (99.9%): [578.922, 578.922] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseMediumInput:mempool.G1 Eden Space.used":
137216.000 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (113664.000, 125513.396, 137216.000), stdev = 13513.534
CI (99.9%): [137216.000, 137216.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseMediumInput:mempool.G1 Old Gen.used":
3373.500 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (3348.000, 3360.750, 3373.500), stdev = 10.851
CI (99.9%): [3373.500, 3373.500] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseMediumInput:mempool.G1 Survivor Space.used":
442.094 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (415.438, 433.229, 442.094), stdev = 12.111
CI (99.9%): [442.094, 442.094] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseMediumInput:mempool.Metaspace.used":
5474.375 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (5452.141, 5463.387, 5474.375), stdev = 11.389
CI (99.9%): [5474.375, 5474.375] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseMediumInput:mempool.total.codeheap.used":
7738.000 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (7319.000, 7533.000, 7738.000), stdev = 215.734
CI (99.9%): [7738.000, 7738.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseMediumInput:mempool.total.used":
154807.898 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (130809.281, 142882.152, 154807.898), stdev = 13715.574
CI (99.9%): [154807.898, 154807.898] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromInputStream.parseSmallInput
# Run progress: 25.00% complete, ETA 00:06:02
# Fork: 1 of 2
# Warmup Iteration 1: 77321.944 ops/s
# Warmup Iteration 2: 93854.627 ops/s
Iteration 1: 94752.386 ops/s
gc.alloc.rate: 3258.489 MB/sec
gc.alloc.rate.norm: 36064.049 B/op
gc.count: 247.000 counts
gc.time: 83.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1137.125 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 2225.500 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3217.625 KiB
mempool.Compressed Class Space.used: 577.859 KiB
mempool.G1 Eden Space.used: 137216.000 KiB
mempool.G1 Old Gen.used: 3403.000 KiB
mempool.G1 Survivor Space.used: 137.469 KiB
mempool.Metaspace.used: 5449.516 KiB
mempool.total.codeheap.used: 6580.250 KiB
mempool.total.used: 153364.094 KiB
Iteration 2: 94733.460 ops/s
gc.alloc.rate: 3257.902 MB/sec
gc.alloc.rate.norm: 36064.038 B/op
gc.count: 247.000 counts
gc.time: 83.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1137.125 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 2229.625 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3238.750 KiB
mempool.Compressed Class Space.used: 578.922 KiB
mempool.G1 Eden Space.used: 137216.000 KiB
mempool.G1 Old Gen.used: 3421.500 KiB
mempool.G1 Survivor Space.used: 127.844 KiB
mempool.Metaspace.used: 5469.047 KiB
mempool.total.codeheap.used: 6605.500 KiB
mempool.total.used: 153418.813 KiB
# Run progress: 31.25% complete, ETA 00:05:32
# Fork: 2 of 2
# Warmup Iteration 1: 74358.682 ops/s
# Warmup Iteration 2: 93840.801 ops/s
Iteration 1: 94228.451 ops/s
gc.alloc.rate: 3240.480 MB/sec
gc.alloc.rate.norm: 36064.050 B/op
gc.count: 246.000 counts
gc.time: 82.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1150.250 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 2573.250 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3036.875 KiB
mempool.Compressed Class Space.used: 577.859 KiB
mempool.G1 Eden Space.used: 137216.000 KiB
mempool.G1 Old Gen.used: 3378.000 KiB
mempool.G1 Survivor Space.used: 135.469 KiB
mempool.Metaspace.used: 5454.180 KiB
mempool.total.codeheap.used: 6760.375 KiB
mempool.total.used: 153521.883 KiB
Iteration 2: 93781.144 ops/s
gc.alloc.rate: 3225.127 MB/sec
gc.alloc.rate.norm: 36064.038 B/op
gc.count: 244.000 counts
gc.time: 81.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1136.375 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 2577.375 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3058.000 KiB
mempool.Compressed Class Space.used: 578.922 KiB
mempool.G1 Eden Space.used: 137216.000 KiB
mempool.G1 Old Gen.used: 3396.500 KiB
mempool.G1 Survivor Space.used: 142.852 KiB
mempool.Metaspace.used: 5473.766 KiB
mempool.total.codeheap.used: 6771.750 KiB
mempool.total.used: 153579.789 KiB
Result "org.jsoup.bench.ParseFromInputStream.parseSmallInput":
94373.860 ±(99.9%) 2996.416 ops/s [Average]
(min, avg, max) = (93781.144, 94373.860, 94752.386), stdev = 463.699
CI (99.9%): [91377.444, 97370.276] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseSmallInput:gc.alloc.rate":
3245.499 ±(99.9%) 103.040 MB/sec [Average]
(min, avg, max) = (3225.127, 3245.499, 3258.489), stdev = 15.946
CI (99.9%): [3142.459, 3348.540] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseSmallInput:gc.alloc.rate.norm":
36064.044 ±(99.9%) 0.042 B/op [Average]
(min, avg, max) = (36064.038, 36064.044, 36064.050), stdev = 0.007
CI (99.9%): [36064.001, 36064.086] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseSmallInput:gc.count":
984.000 ±(99.9%) 0.001 counts [Sum]
(min, avg, max) = (244.000, 246.000, 247.000), stdev = 1.414
CI (99.9%): [984.000, 984.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseSmallInput:gc.time":
329.000 ±(99.9%) 0.001 ms [Sum]
(min, avg, max) = (81.000, 82.250, 83.000), stdev = 0.957
CI (99.9%): [329.000, 329.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseSmallInput:mempool.CodeHeap 'non-nmethods'.used":
1150.250 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1136.375, 1140.219, 1150.250), stdev = 6.697
CI (99.9%): [1150.250, 1150.250] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseSmallInput:mempool.CodeHeap 'non-profiled nmethods'.used":
2577.375 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (2225.500, 2401.438, 2577.375), stdev = 200.788
CI (99.9%): [2577.375, 2577.375] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseSmallInput:mempool.CodeHeap 'profiled nmethods'.used":
3238.750 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (3036.875, 3137.813, 3238.750), stdev = 105.066
CI (99.9%): [3238.750, 3238.750] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseSmallInput:mempool.Compressed Class Space.used":
578.922 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (577.859, 578.391, 578.922), stdev = 0.613
CI (99.9%): [578.922, 578.922] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseSmallInput:mempool.G1 Eden Space.used":
137216.000 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (137216.000, 137216.000, 137216.000), stdev = 0.001
CI (99.9%): [137216.000, 137216.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseSmallInput:mempool.G1 Old Gen.used":
3421.500 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (3378.000, 3399.750, 3421.500), stdev = 17.956
CI (99.9%): [3421.500, 3421.500] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseSmallInput:mempool.G1 Survivor Space.used":
142.852 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (127.844, 135.908, 142.852), stdev = 6.215
CI (99.9%): [142.852, 142.852] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseSmallInput:mempool.Metaspace.used":
5473.766 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (5449.516, 5461.627, 5473.766), stdev = 11.612
CI (99.9%): [5473.766, 5473.766] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseSmallInput:mempool.total.codeheap.used":
6771.750 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (6580.250, 6679.469, 6771.750), stdev = 100.627
CI (99.9%): [6771.750, 6771.750] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseSmallInput:mempool.total.used":
153579.789 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (153364.094, 153471.145, 153579.789), stdev = 97.599
CI (99.9%): [153579.789, 153579.789] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromInputStream.parseTinyInput
# Run progress: 37.50% complete, ETA 00:05:01
# Fork: 1 of 2
# Warmup Iteration 1: 119822.873 ops/s
# Warmup Iteration 2: 146997.442 ops/s
Iteration 1: 147289.282 ops/s
gc.alloc.rate: 3103.465 MB/sec
gc.alloc.rate.norm: 22096.032 B/op
gc.count: 235.000 counts
gc.time: 68.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1136.375 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 2511.750 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2960.625 KiB
mempool.Compressed Class Space.used: 577.352 KiB
mempool.G1 Eden Space.used: 137216.000 KiB
mempool.G1 Old Gen.used: 3298.000 KiB
mempool.G1 Survivor Space.used: 63.391 KiB
mempool.Metaspace.used: 5411.133 KiB
mempool.total.codeheap.used: 6608.750 KiB
mempool.total.used: 153174.625 KiB
Iteration 2: 147570.716 ops/s
gc.alloc.rate: 3109.384 MB/sec
gc.alloc.rate.norm: 22096.024 B/op
gc.count: 236.000 counts
gc.time: 69.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1136.375 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 2515.875 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2981.750 KiB
mempool.Compressed Class Space.used: 578.414 KiB
mempool.G1 Eden Space.used: 137216.000 KiB
mempool.G1 Old Gen.used: 3316.500 KiB
mempool.G1 Survivor Space.used: 74.961 KiB
mempool.Metaspace.used: 5430.719 KiB
mempool.total.codeheap.used: 6634.000 KiB
mempool.total.used: 153250.594 KiB
# Run progress: 43.75% complete, ETA 00:04:31
# Fork: 2 of 2
# Warmup Iteration 1: 117619.730 ops/s
# Warmup Iteration 2: 148390.897 ops/s
Iteration 1: 148419.992 ops/s
gc.alloc.rate: 3127.170 MB/sec
gc.alloc.rate.norm: 22096.032 B/op
gc.count: 286.000 counts
gc.time: 74.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1151.500 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 2266.875 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3071.875 KiB
mempool.Compressed Class Space.used: 577.352 KiB
mempool.G1 Eden Space.used: 113664.000 KiB
mempool.G1 Old Gen.used: 3350.500 KiB
mempool.G1 Survivor Space.used: 58.844 KiB
mempool.Metaspace.used: 5412.711 KiB
mempool.total.codeheap.used: 6490.250 KiB
mempool.total.used: 129553.656 KiB
Iteration 2: 148628.495 ops/s
gc.alloc.rate: 3131.721 MB/sec
gc.alloc.rate.norm: 22096.024 B/op
gc.count: 286.000 counts
gc.time: 74.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1136.375 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 2271.000 KiB
mempool.CodeHeap 'profiled nmethods'.used: 3093.000 KiB
mempool.Compressed Class Space.used: 578.414 KiB
mempool.G1 Eden Space.used: 113664.000 KiB
mempool.G1 Old Gen.used: 3367.000 KiB
mempool.G1 Survivor Space.used: 60.375 KiB
mempool.Metaspace.used: 5431.945 KiB
mempool.total.codeheap.used: 6500.375 KiB
mempool.total.used: 129602.109 KiB
Result "org.jsoup.bench.ParseFromInputStream.parseTinyInput":
147977.121 ±(99.9%) 4185.703 ops/s [Average]
(min, avg, max) = (147289.282, 147977.121, 148628.495), stdev = 647.742
CI (99.9%): [143791.418, 152162.824] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseTinyInput:gc.alloc.rate":
3117.935 ±(99.9%) 88.118 MB/sec [Average]
(min, avg, max) = (3103.465, 3117.935, 3131.721), stdev = 13.636
CI (99.9%): [3029.817, 3206.053] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseTinyInput:gc.alloc.rate.norm":
22096.028 ±(99.9%) 0.027 B/op [Average]
(min, avg, max) = (22096.024, 22096.028, 22096.032), stdev = 0.004
CI (99.9%): [22096.001, 22096.055] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseTinyInput:gc.count":
1043.000 ±(99.9%) 0.001 counts [Sum]
(min, avg, max) = (235.000, 260.750, 286.000), stdev = 29.159
CI (99.9%): [1043.000, 1043.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseTinyInput:gc.time":
285.000 ±(99.9%) 0.001 ms [Sum]
(min, avg, max) = (68.000, 71.250, 74.000), stdev = 3.202
CI (99.9%): [285.000, 285.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseTinyInput:mempool.CodeHeap 'non-nmethods'.used":
1151.500 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1136.375, 1140.156, 1151.500), stdev = 7.563
CI (99.9%): [1151.500, 1151.500] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseTinyInput:mempool.CodeHeap 'non-profiled nmethods'.used":
2515.875 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (2266.875, 2391.375, 2515.875), stdev = 141.399
CI (99.9%): [2515.875, 2515.875] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseTinyInput:mempool.CodeHeap 'profiled nmethods'.used":
3093.000 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (2960.625, 3026.813, 3093.000), stdev = 65.378
CI (99.9%): [3093.000, 3093.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseTinyInput:mempool.Compressed Class Space.used":
578.414 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (577.352, 577.883, 578.414), stdev = 0.613
CI (99.9%): [578.414, 578.414] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseTinyInput:mempool.G1 Eden Space.used":
137216.000 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (113664.000, 125440.000, 137216.000), stdev = 13597.754
CI (99.9%): [137216.000, 137216.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseTinyInput:mempool.G1 Old Gen.used":
3367.000 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (3298.000, 3333.000, 3367.000), stdev = 31.409
CI (99.9%): [3367.000, 3367.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseTinyInput:mempool.G1 Survivor Space.used":
74.961 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (58.844, 64.393, 74.961), stdev = 7.294
CI (99.9%): [74.961, 74.961] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseTinyInput:mempool.Metaspace.used":
5431.945 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (5411.133, 5421.627, 5431.945), stdev = 11.236
CI (99.9%): [5431.945, 5431.945] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseTinyInput:mempool.total.codeheap.used":
6634.000 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (6490.250, 6558.344, 6634.000), stdev = 73.625
CI (99.9%): [6634.000, 6634.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromInputStream.parseTinyInput:mempool.total.used":
153250.594 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (129553.656, 141395.246, 153250.594), stdev = 13645.565
CI (99.9%): [153250.594, 153250.594] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromString.parseLargeString
# Run progress: 50.00% complete, ETA 00:04:01
# Fork: 1 of 2
# Warmup Iteration 1: 1587.370 ops/s
# Warmup Iteration 2: 1806.951 ops/s
Iteration 1: 1802.306 ops/s
gc.alloc.rate: 3726.600 MB/sec
gc.alloc.rate.norm: 2169297.995 B/op
gc.count: 102.000 counts
gc.time: 211.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1166.750 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1489.375 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2588.125 KiB
mempool.Compressed Class Space.used: 577.719 KiB
mempool.G1 Eden Space.used: 381952.000 KiB
mempool.G1 Old Gen.used: 106447.000 KiB
mempool.G1 Survivor Space.used: 12876.250 KiB
mempool.Metaspace.used: 5266.172 KiB
mempool.total.codeheap.used: 5244.250 KiB
mempool.total.used: 512363.391 KiB
Iteration 2: 1809.265 ops/s
gc.alloc.rate: 3741.799 MB/sec
gc.alloc.rate.norm: 2169297.988 B/op
gc.count: 103.000 counts
gc.time: 215.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1136.375 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1493.875 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2609.250 KiB
mempool.Compressed Class Space.used: 578.781 KiB
mempool.G1 Eden Space.used: 384000.000 KiB
mempool.G1 Old Gen.used: 106471.500 KiB
mempool.G1 Survivor Space.used: 13312.000 KiB
mempool.Metaspace.used: 5284.102 KiB
mempool.total.codeheap.used: 5239.500 KiB
mempool.total.used: 514885.883 KiB
# Run progress: 56.25% complete, ETA 00:03:31
# Fork: 2 of 2
# Warmup Iteration 1: 1409.100 ops/s
# Warmup Iteration 2: 1794.034 ops/s
Iteration 1: 1794.290 ops/s
gc.alloc.rate: 3710.301 MB/sec
gc.alloc.rate.norm: 2169249.998 B/op
gc.count: 77.000 counts
gc.time: 163.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1166.000 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1551.750 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2605.625 KiB
mempool.Compressed Class Space.used: 576.688 KiB
mempool.G1 Eden Space.used: 501760.000 KiB
mempool.G1 Old Gen.used: 71638.000 KiB
mempool.G1 Survivor Space.used: 14033.922 KiB
mempool.Metaspace.used: 5250.727 KiB
mempool.total.codeheap.used: 5323.375 KiB
mempool.total.used: 598582.711 KiB
Iteration 2: 1791.258 ops/s
gc.alloc.rate: 3705.100 MB/sec
gc.alloc.rate.norm: 2169250.006 B/op
gc.count: 76.000 counts
gc.time: 164.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1135.625 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1555.000 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2623.875 KiB
mempool.Compressed Class Space.used: 577.750 KiB
mempool.G1 Eden Space.used: 502784.000 KiB
mempool.G1 Old Gen.used: 71665.000 KiB
mempool.G1 Survivor Space.used: 12503.430 KiB
mempool.Metaspace.used: 5268.234 KiB
mempool.total.codeheap.used: 5314.500 KiB
mempool.total.used: 598112.914 KiB
Result "org.jsoup.bench.ParseFromString.parseLargeString":
1799.280 ±(99.9%) 52.511 ops/s [Average]
(min, avg, max) = (1791.258, 1799.280, 1809.265), stdev = 8.126
CI (99.9%): [1746.768, 1851.791] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseLargeString:gc.alloc.rate":
3720.950 ±(99.9%) 107.563 MB/sec [Average]
(min, avg, max) = (3705.100, 3720.950, 3741.799), stdev = 16.645
CI (99.9%): [3613.387, 3828.513] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseLargeString:gc.alloc.rate.norm":
2169273.997 ±(99.9%) 179.039 B/op [Average]
(min, avg, max) = (2169249.998, 2169273.997, 2169297.995), stdev = 27.707
CI (99.9%): [2169094.958, 2169453.036] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseLargeString:gc.count":
358.000 ±(99.9%) 0.001 counts [Sum]
(min, avg, max) = (76.000, 89.500, 103.000), stdev = 15.022
CI (99.9%): [358.000, 358.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseLargeString:gc.time":
753.000 ±(99.9%) 0.001 ms [Sum]
(min, avg, max) = (163.000, 188.250, 215.000), stdev = 28.628
CI (99.9%): [753.000, 753.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseLargeString:mempool.CodeHeap 'non-nmethods'.used":
1166.750 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1135.625, 1151.188, 1166.750), stdev = 17.542
CI (99.9%): [1166.750, 1166.750] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseLargeString:mempool.CodeHeap 'non-profiled nmethods'.used":
1555.000 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1489.375, 1522.500, 1555.000), stdev = 35.723
CI (99.9%): [1555.000, 1555.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseLargeString:mempool.CodeHeap 'profiled nmethods'.used":
2623.875 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (2588.125, 2606.719, 2623.875), stdev = 14.693
CI (99.9%): [2623.875, 2623.875] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseLargeString:mempool.Compressed Class Space.used":
578.781 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (576.688, 577.734, 578.781), stdev = 0.855
CI (99.9%): [578.781, 578.781] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseLargeString:mempool.G1 Eden Space.used":
502784.000 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (381952.000, 442624.000, 502784.000), stdev = 68881.921
CI (99.9%): [502784.000, 502784.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseLargeString:mempool.G1 Old Gen.used":
106471.500 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (71638.000, 89055.375, 106471.500), stdev = 20096.269
CI (99.9%): [106471.500, 106471.500] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseLargeString:mempool.G1 Survivor Space.used":
14033.922 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (12503.430, 13181.400, 14033.922), stdev = 657.422
CI (99.9%): [14033.922, 14033.922] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseLargeString:mempool.Metaspace.used":
5284.102 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (5250.727, 5267.309, 5284.102), stdev = 13.652
CI (99.9%): [5284.102, 5284.102] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseLargeString:mempool.total.codeheap.used":
5323.375 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (5239.500, 5280.406, 5323.375), stdev = 44.681
CI (99.9%): [5323.375, 5323.375] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseLargeString:mempool.total.used":
598582.711 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (512363.391, 555986.225, 598582.711), stdev = 48926.163
CI (99.9%): [598582.711, 598582.711] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromString.parseMediumString
# Run progress: 62.50% complete, ETA 00:03:01
# Fork: 1 of 2
# Warmup Iteration 1: 56225.428 ops/s
# Warmup Iteration 2: 78245.882 ops/s
Iteration 1: 78639.290 ops/s
gc.alloc.rate: 3942.796 MB/sec
gc.alloc.rate.norm: 52584.059 B/op
gc.count: 298.000 counts
gc.time: 128.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1166.000 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1952.375 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2484.750 KiB
mempool.Compressed Class Space.used: 577.719 KiB
mempool.G1 Eden Space.used: 137216.000 KiB
mempool.G1 Old Gen.used: 4208.500 KiB
mempool.G1 Survivor Space.used: 355.789 KiB
mempool.Metaspace.used: 5278.938 KiB
mempool.total.codeheap.used: 5603.125 KiB
mempool.total.used: 153240.070 KiB
Iteration 2: 78662.432 ops/s
gc.alloc.rate: 3944.366 MB/sec
gc.alloc.rate.norm: 52584.046 B/op
gc.count: 298.000 counts
gc.time: 129.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1149.625 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1957.250 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2503.875 KiB
mempool.Compressed Class Space.used: 578.781 KiB
mempool.G1 Eden Space.used: 137216.000 KiB
mempool.G1 Old Gen.used: 4227.000 KiB
mempool.G1 Survivor Space.used: 319.023 KiB
mempool.Metaspace.used: 5296.922 KiB
mempool.total.codeheap.used: 5610.750 KiB
mempool.total.used: 153248.477 KiB
# Run progress: 68.75% complete, ETA 00:02:30
# Fork: 2 of 2
# Warmup Iteration 1: 66335.268 ops/s
# Warmup Iteration 2: 82629.132 ops/s
Iteration 1: 82581.607 ops/s
gc.alloc.rate: 4147.163 MB/sec
gc.alloc.rate.norm: 52680.056 B/op
gc.count: 314.000 counts
gc.time: 132.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1166.750 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1698.000 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2221.375 KiB
mempool.Compressed Class Space.used: 577.719 KiB
mempool.G1 Eden Space.used: 137216.000 KiB
mempool.G1 Old Gen.used: 4227.000 KiB
mempool.G1 Survivor Space.used: 332.945 KiB
mempool.Metaspace.used: 5265.859 KiB
mempool.total.codeheap.used: 5086.125 KiB
mempool.total.used: 152705.648 KiB
Iteration 2: 82658.604 ops/s
gc.alloc.rate: 4152.354 MB/sec
gc.alloc.rate.norm: 52680.044 B/op
gc.count: 314.000 counts
gc.time: 132.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1136.375 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1702.000 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2244.125 KiB
mempool.Compressed Class Space.used: 578.781 KiB
mempool.G1 Eden Space.used: 137216.000 KiB
mempool.G1 Old Gen.used: 4245.500 KiB
mempool.G1 Survivor Space.used: 318.500 KiB
mempool.Metaspace.used: 5283.898 KiB
mempool.total.codeheap.used: 5082.500 KiB
mempool.total.used: 152725.180 KiB
Result "org.jsoup.bench.ParseFromString.parseMediumString":
80635.483 ±(99.9%) 14810.098 ops/s [Average]
(min, avg, max) = (78639.290, 80635.483, 82658.604), stdev = 2291.879
CI (99.9%): [65825.385, 95445.582] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseMediumString:gc.alloc.rate":
4046.670 ±(99.9%) 769.347 MB/sec [Average]
(min, avg, max) = (3942.796, 4046.670, 4152.354), stdev = 119.057
CI (99.9%): [3277.323, 4816.017] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseMediumString:gc.alloc.rate.norm":
52632.051 ±(99.9%) 358.151 B/op [Average]
(min, avg, max) = (52584.046, 52632.051, 52680.056), stdev = 55.424
CI (99.9%): [52273.901, 52990.202] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseMediumString:gc.count":
1224.000 ±(99.9%) 0.001 counts [Sum]
(min, avg, max) = (298.000, 306.000, 314.000), stdev = 9.238
CI (99.9%): [1224.000, 1224.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseMediumString:gc.time":
521.000 ±(99.9%) 0.001 ms [Sum]
(min, avg, max) = (128.000, 130.250, 132.000), stdev = 2.062
CI (99.9%): [521.000, 521.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseMediumString:mempool.CodeHeap 'non-nmethods'.used":
1166.750 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1136.375, 1154.688, 1166.750), stdev = 14.543
CI (99.9%): [1166.750, 1166.750] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseMediumString:mempool.CodeHeap 'non-profiled nmethods'.used":
1957.250 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1698.000, 1827.406, 1957.250), stdev = 147.139
CI (99.9%): [1957.250, 1957.250] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseMediumString:mempool.CodeHeap 'profiled nmethods'.used":
2503.875 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (2221.375, 2363.531, 2503.875), stdev = 151.500
CI (99.9%): [2503.875, 2503.875] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseMediumString:mempool.Compressed Class Space.used":
578.781 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (577.719, 578.250, 578.781), stdev = 0.613
CI (99.9%): [578.781, 578.781] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseMediumString:mempool.G1 Eden Space.used":
137216.000 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (137216.000, 137216.000, 137216.000), stdev = 0.001
CI (99.9%): [137216.000, 137216.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseMediumString:mempool.G1 Old Gen.used":
4245.500 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (4208.500, 4227.000, 4245.500), stdev = 15.105
CI (99.9%): [4245.500, 4245.500] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseMediumString:mempool.G1 Survivor Space.used":
355.789 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (318.500, 331.564, 355.789), stdev = 17.480
CI (99.9%): [355.789, 355.789] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseMediumString:mempool.Metaspace.used":
5296.922 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (5265.859, 5281.404, 5296.922), stdev = 12.842
CI (99.9%): [5296.922, 5296.922] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseMediumString:mempool.total.codeheap.used":
5610.750 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (5082.500, 5345.625, 5610.750), stdev = 301.757
CI (99.9%): [5610.750, 5610.750] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseMediumString:mempool.total.used":
153248.477 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (152705.648, 152979.844, 153248.477), stdev = 305.460
CI (99.9%): [153248.477, 153248.477] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromString.parseSmallString
# Run progress: 75.00% complete, ETA 00:02:00
# Fork: 1 of 2
# Warmup Iteration 1: 236815.618 ops/s
# Warmup Iteration 2: 271398.457 ops/s
Iteration 1: 272017.094 ops/s
gc.alloc.rate: 5426.101 MB/sec
gc.alloc.rate.norm: 20920.017 B/op
gc.count: 347.000 counts
gc.time: 153.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1167.375 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1536.250 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2189.875 KiB
mempool.Compressed Class Space.used: 577.719 KiB
mempool.G1 Eden Space.used: 161792.000 KiB
mempool.G1 Old Gen.used: 4208.500 KiB
mempool.G1 Survivor Space.used: 125.859 KiB
mempool.Metaspace.used: 5260.953 KiB
mempool.total.codeheap.used: 4893.500 KiB
mempool.total.used: 176858.531 KiB
Iteration 2: 271873.588 ops/s
gc.alloc.rate: 5422.782 MB/sec
gc.alloc.rate.norm: 20920.013 B/op
gc.count: 347.000 counts
gc.time: 151.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1137.000 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1542.250 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2211.875 KiB
mempool.Compressed Class Space.used: 578.781 KiB
mempool.G1 Eden Space.used: 161792.000 KiB
mempool.G1 Old Gen.used: 4229.000 KiB
mempool.G1 Survivor Space.used: 128.273 KiB
mempool.Metaspace.used: 5280.422 KiB
mempool.total.codeheap.used: 4891.125 KiB
mempool.total.used: 176899.602 KiB
# Run progress: 81.25% complete, ETA 00:01:30
# Fork: 2 of 2
# Warmup Iteration 1: 216748.185 ops/s
# Warmup Iteration 2: 271057.232 ops/s
Iteration 1: 270988.820 ops/s
gc.alloc.rate: 5355.641 MB/sec
gc.alloc.rate.norm: 20728.017 B/op
gc.count: 309.000 counts
gc.time: 147.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1166.375 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1491.875 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2119.625 KiB
mempool.Compressed Class Space.used: 577.719 KiB
mempool.G1 Eden Space.used: 179200.000 KiB
mempool.G1 Old Gen.used: 4256.500 KiB
mempool.G1 Survivor Space.used: 127.000 KiB
mempool.Metaspace.used: 5250.039 KiB
mempool.total.codeheap.used: 4777.875 KiB
mempool.total.used: 194189.133 KiB
Iteration 2: 271130.740 ops/s
gc.alloc.rate: 5359.108 MB/sec
gc.alloc.rate.norm: 20728.013 B/op
gc.count: 310.000 counts
gc.time: 146.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1136.000 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1495.125 KiB
mempool.CodeHeap 'profiled nmethods'.used: 2138.750 KiB
mempool.Compressed Class Space.used: 578.781 KiB
mempool.G1 Eden Space.used: 179200.000 KiB
mempool.G1 Old Gen.used: 4277.000 KiB
mempool.G1 Survivor Space.used: 125.281 KiB
mempool.Metaspace.used: 5268.023 KiB
mempool.total.codeheap.used: 4769.875 KiB
mempool.total.used: 194218.961 KiB
Result "org.jsoup.bench.ParseFromString.parseSmallString":
271502.560 ±(99.9%) 3346.508 ops/s [Average]
(min, avg, max) = (270988.820, 271502.560, 272017.094), stdev = 517.876
CI (99.9%): [268156.053, 274849.068] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseSmallString:gc.alloc.rate":
5390.908 ±(99.9%) 250.535 MB/sec [Average]
(min, avg, max) = (5355.641, 5390.908, 5426.101), stdev = 38.771
CI (99.9%): [5140.373, 5641.443] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseSmallString:gc.alloc.rate.norm":
20824.015 ±(99.9%) 716.319 B/op [Average]
(min, avg, max) = (20728.013, 20824.015, 20920.017), stdev = 110.851
CI (99.9%): [20107.696, 21540.335] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseSmallString:gc.count":
1313.000 ±(99.9%) 0.001 counts [Sum]
(min, avg, max) = (309.000, 328.250, 347.000), stdev = 21.654
CI (99.9%): [1313.000, 1313.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseSmallString:gc.time":
597.000 ±(99.9%) 0.001 ms [Sum]
(min, avg, max) = (146.000, 149.250, 153.000), stdev = 3.304
CI (99.9%): [597.000, 597.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseSmallString:mempool.CodeHeap 'non-nmethods'.used":
1167.375 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1136.000, 1151.688, 1167.375), stdev = 17.547
CI (99.9%): [1167.375, 1167.375] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseSmallString:mempool.CodeHeap 'non-profiled nmethods'.used":
1542.250 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1491.875, 1516.375, 1542.250), stdev = 26.560
CI (99.9%): [1542.250, 1542.250] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseSmallString:mempool.CodeHeap 'profiled nmethods'.used":
2211.875 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (2119.625, 2165.031, 2211.875), stdev = 43.066
CI (99.9%): [2211.875, 2211.875] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseSmallString:mempool.Compressed Class Space.used":
578.781 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (577.719, 578.250, 578.781), stdev = 0.613
CI (99.9%): [578.781, 578.781] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseSmallString:mempool.G1 Eden Space.used":
179200.000 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (161792.000, 170496.000, 179200.000), stdev = 10050.513
CI (99.9%): [179200.000, 179200.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseSmallString:mempool.G1 Old Gen.used":
4277.000 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (4208.500, 4242.750, 4277.000), stdev = 30.134
CI (99.9%): [4277.000, 4277.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseSmallString:mempool.G1 Survivor Space.used":
128.273 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (125.281, 126.604, 128.273), stdev = 1.323
CI (99.9%): [128.273, 128.273] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseSmallString:mempool.Metaspace.used":
5280.422 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (5250.039, 5264.859, 5280.422), stdev = 12.742
CI (99.9%): [5280.422, 5280.422] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseSmallString:mempool.total.codeheap.used":
4893.500 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (4769.875, 4833.094, 4893.500), stdev = 68.465
CI (99.9%): [4893.500, 4893.500] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseSmallString:mempool.total.used":
194218.961 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (176858.531, 185541.557, 194218.961), stdev = 10002.604
CI (99.9%): [194218.961, 194218.961] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromString.parseTinyString
# Run progress: 87.50% complete, ETA 00:01:00
# Fork: 1 of 2
# Warmup Iteration 1: 1210513.024 ops/s
# Warmup Iteration 2: 1374482.913 ops/s
Iteration 1: 1387004.140 ops/s
gc.alloc.rate: 13256.574 MB/sec
gc.alloc.rate.norm: 10024.003 B/op
gc.count: 513.000 counts
gc.time: 254.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1166.750 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1273.000 KiB
mempool.CodeHeap 'profiled nmethods'.used: 1960.875 KiB
mempool.Compressed Class Space.used: 577.219 KiB
mempool.G1 Eden Space.used: 267264.000 KiB
mempool.G1 Old Gen.used: 4197.000 KiB
mempool.G1 Survivor Space.used: 70.609 KiB
mempool.Metaspace.used: 5227.531 KiB
mempool.total.codeheap.used: 4400.625 KiB
mempool.total.used: 281736.984 KiB
Iteration 2: 1384058.769 ops/s
gc.alloc.rate: 13229.872 MB/sec
gc.alloc.rate.norm: 10024.003 B/op
gc.count: 512.000 counts
gc.time: 254.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1164.875 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1278.625 KiB
mempool.CodeHeap 'profiled nmethods'.used: 1981.750 KiB
mempool.Compressed Class Space.used: 578.281 KiB
mempool.G1 Eden Space.used: 267264.000 KiB
mempool.G1 Old Gen.used: 4219.500 KiB
mempool.G1 Survivor Space.used: 74.625 KiB
mempool.Metaspace.used: 5245.523 KiB
mempool.total.codeheap.used: 4425.250 KiB
mempool.total.used: 281807.180 KiB
# Run progress: 93.75% complete, ETA 00:00:30
# Fork: 2 of 2
# Warmup Iteration 1: 1193969.253 ops/s
# Warmup Iteration 2: 1356021.139 ops/s
Iteration 1: 1357425.934 ops/s
gc.alloc.rate: 12975.094 MB/sec
gc.alloc.rate.norm: 10024.003 B/op
gc.count: 502.000 counts
gc.time: 249.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1167.500 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1251.750 KiB
mempool.CodeHeap 'profiled nmethods'.used: 1815.500 KiB
mempool.Compressed Class Space.used: 577.219 KiB
mempool.G1 Eden Space.used: 267264.000 KiB
mempool.G1 Old Gen.used: 4296.500 KiB
mempool.G1 Survivor Space.used: 67.578 KiB
mempool.Metaspace.used: 5218.602 KiB
mempool.total.codeheap.used: 4234.750 KiB
mempool.total.used: 281658.648 KiB
Iteration 2: 1358311.724 ops/s
gc.alloc.rate: 12980.980 MB/sec
gc.alloc.rate.norm: 10024.003 B/op
gc.count: 502.000 counts
gc.time: 247.000 ms
mempool.CodeHeap 'non-nmethods'.used: 1137.125 KiB
mempool.CodeHeap 'non-profiled nmethods'.used: 1255.000 KiB
mempool.CodeHeap 'profiled nmethods'.used: 1837.375 KiB
mempool.Compressed Class Space.used: 578.281 KiB
mempool.G1 Eden Space.used: 267264.000 KiB
mempool.G1 Old Gen.used: 4321.000 KiB
mempool.G1 Survivor Space.used: 69.578 KiB
mempool.Metaspace.used: 5237.281 KiB
mempool.total.codeheap.used: 4229.500 KiB
mempool.total.used: 281699.641 KiB
Result "org.jsoup.bench.ParseFromString.parseTinyString":
1371700.142 ±(99.9%) 103523.055 ops/s [Average]
(min, avg, max) = (1357425.934, 1371700.142, 1387004.140), stdev = 16020.307
CI (99.9%): [1268177.087, 1475223.197] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseTinyString:gc.alloc.rate":
13110.630 ±(99.9%) 991.988 MB/sec [Average]
(min, avg, max) = (12975.094, 13110.630, 13256.574), stdev = 153.511
CI (99.9%): [12118.642, 14102.618] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseTinyString:gc.alloc.rate.norm":
10024.003 ±(99.9%) 0.003 B/op [Average]
(min, avg, max) = (10024.003, 10024.003, 10024.003), stdev = 0.001
CI (99.9%): [10024.000, 10024.006] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseTinyString:gc.count":
2029.000 ±(99.9%) 0.001 counts [Sum]
(min, avg, max) = (502.000, 507.250, 513.000), stdev = 6.076
CI (99.9%): [2029.000, 2029.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseTinyString:gc.time":
1004.000 ±(99.9%) 0.001 ms [Sum]
(min, avg, max) = (247.000, 251.000, 254.000), stdev = 3.559
CI (99.9%): [1004.000, 1004.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseTinyString:mempool.CodeHeap 'non-nmethods'.used":
1167.500 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1137.125, 1159.063, 1167.500), stdev = 14.667
CI (99.9%): [1167.500, 1167.500] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseTinyString:mempool.CodeHeap 'non-profiled nmethods'.used":
1278.625 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1251.750, 1264.594, 1278.625), stdev = 13.223
CI (99.9%): [1278.625, 1278.625] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseTinyString:mempool.CodeHeap 'profiled nmethods'.used":
1981.750 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (1815.500, 1898.875, 1981.750), stdev = 84.550
CI (99.9%): [1981.750, 1981.750] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseTinyString:mempool.Compressed Class Space.used":
578.281 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (577.219, 577.750, 578.281), stdev = 0.613
CI (99.9%): [578.281, 578.281] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseTinyString:mempool.G1 Eden Space.used":
267264.000 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (267264.000, 267264.000, 267264.000), stdev = 0.001
CI (99.9%): [267264.000, 267264.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseTinyString:mempool.G1 Old Gen.used":
4321.000 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (4197.000, 4258.500, 4321.000), stdev = 59.592
CI (99.9%): [4321.000, 4321.000] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseTinyString:mempool.G1 Survivor Space.used":
74.625 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (67.578, 70.598, 74.625), stdev = 2.965
CI (99.9%): [74.625, 74.625] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseTinyString:mempool.Metaspace.used":
5245.523 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (5218.602, 5232.234, 5245.523), stdev = 11.691
CI (99.9%): [5245.523, 5245.523] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseTinyString:mempool.total.codeheap.used":
4425.250 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (4229.500, 4322.531, 4425.250), stdev = 104.897
CI (99.9%): [4425.250, 4425.250] (assumes normal distribution)
Secondary result "org.jsoup.bench.ParseFromString.parseTinyString:mempool.total.used":
281807.180 ±(99.9%) 0.001 KiB [Maximum]
(min, avg, max) = (281658.648, 281725.613, 281807.180), stdev = 63.091
CI (99.9%): [281807.180, 281807.180] (assumes normal distribution)
# Run complete. Total time: 00:08:03
REMEMBER: The numbers below are just data. To gain reusable insights, you need to follow up on
why the numbers are the way they are. Use profilers (see -prof, -lprof), design factorial
experiments, perform baseline and negative tests that provide experimental control, make sure
the benchmarking environment is safe on JVM/OS/HW level, ask for reviews from the domain experts.
Do not assume the numbers tell you what you want them to tell.
NOTE: Current JVM experimentally supports Compiler Blackholes, and they are in use. Please exercise
extra caution when trusting the results, look into the generated code to check the benchmark still
works, and factor in a small probability of new VM bugs. Additionally, while comparisons between
different JVMs are already problematic, the performance difference caused by different Blackhole
modes can be very significant. Please make sure you use the consistent Blackhole mode for comparisons.
Benchmark Mode Cnt Score Error Units
ParseFromInputStream.parseLargeInput thrpt 4 1548.385 ± 75.514 ops/s
ParseFromInputStream.parseLargeInput:gc.alloc.rate thrpt 4 3312.028 ± 162.508 MB/sec
ParseFromInputStream.parseLargeInput:gc.alloc.rate.norm thrpt 4 2243602.666 ± 716.214 B/op
ParseFromInputStream.parseLargeInput:gc.count thrpt 4 390.000 counts
ParseFromInputStream.parseLargeInput:gc.time thrpt 4 788.000 ms
ParseFromInputStream.parseLargeInput:mempool.CodeHeap 'non-nmethods'.used thrpt 4 1137.125 KiB
ParseFromInputStream.parseLargeInput:mempool.CodeHeap 'non-profiled nmethods'.used thrpt 4 1749.125 KiB
ParseFromInputStream.parseLargeInput:mempool.CodeHeap 'profiled nmethods'.used thrpt 4 3572.250 KiB
ParseFromInputStream.parseLargeInput:mempool.Compressed Class Space.used thrpt 4 578.922 KiB
ParseFromInputStream.parseLargeInput:mempool.G1 Eden Space.used thrpt 4 356352.000 KiB
ParseFromInputStream.parseLargeInput:mempool.G1 Old Gen.used thrpt 4 91844.500 KiB
ParseFromInputStream.parseLargeInput:mempool.G1 Survivor Space.used thrpt 4 13192.063 KiB
ParseFromInputStream.parseLargeInput:mempool.Metaspace.used thrpt 4 5461.813 KiB
ParseFromInputStream.parseLargeInput:mempool.total.codeheap.used thrpt 4 6458.500 KiB
ParseFromInputStream.parseLargeInput:mempool.total.used thrpt 4 473299.953 KiB
ParseFromInputStream.parseMediumInput thrpt 4 48853.763 ± 1121.859 ops/s
ParseFromInputStream.parseMediumInput:gc.alloc.rate thrpt 4 3454.404 ± 111.963 MB/sec
ParseFromInputStream.parseMediumInput:gc.alloc.rate.norm thrpt 4 74152.085 ± 716.318 B/op
ParseFromInputStream.parseMediumInput:gc.count thrpt 4 1154.000 counts
ParseFromInputStream.parseMediumInput:gc.time thrpt 4 435.000 ms
ParseFromInputStream.parseMediumInput:mempool.CodeHeap 'non-nmethods'.used thrpt 4 1164.875 KiB
ParseFromInputStream.parseMediumInput:mempool.CodeHeap 'non-profiled nmethods'.used thrpt 4 3272.250 KiB
ParseFromInputStream.parseMediumInput:mempool.CodeHeap 'profiled nmethods'.used thrpt 4 3599.125 KiB
ParseFromInputStream.parseMediumInput:mempool.Compressed Class Space.used thrpt 4 578.922 KiB
ParseFromInputStream.parseMediumInput:mempool.G1 Eden Space.used thrpt 4 137216.000 KiB
ParseFromInputStream.parseMediumInput:mempool.G1 Old Gen.used thrpt 4 3373.500 KiB
ParseFromInputStream.parseMediumInput:mempool.G1 Survivor Space.used thrpt 4 442.094 KiB
ParseFromInputStream.parseMediumInput:mempool.Metaspace.used thrpt 4 5474.375 KiB
ParseFromInputStream.parseMediumInput:mempool.total.codeheap.used thrpt 4 7738.000 KiB
ParseFromInputStream.parseMediumInput:mempool.total.used thrpt 4 154807.898 KiB
ParseFromInputStream.parseSmallInput thrpt 4 94373.860 ± 2996.416 ops/s
ParseFromInputStream.parseSmallInput:gc.alloc.rate thrpt 4 3245.499 ± 103.040 MB/sec
ParseFromInputStream.parseSmallInput:gc.alloc.rate.norm thrpt 4 36064.044 ± 0.042 B/op
ParseFromInputStream.parseSmallInput:gc.count thrpt 4 984.000 counts
ParseFromInputStream.parseSmallInput:gc.time thrpt 4 329.000 ms
ParseFromInputStream.parseSmallInput:mempool.CodeHeap 'non-nmethods'.used thrpt 4 1150.250 KiB
ParseFromInputStream.parseSmallInput:mempool.CodeHeap 'non-profiled nmethods'.used thrpt 4 2577.375 KiB
ParseFromInputStream.parseSmallInput:mempool.CodeHeap 'profiled nmethods'.used thrpt 4 3238.750 KiB
ParseFromInputStream.parseSmallInput:mempool.Compressed Class Space.used thrpt 4 578.922 KiB
ParseFromInputStream.parseSmallInput:mempool.G1 Eden Space.used thrpt 4 137216.000 KiB
ParseFromInputStream.parseSmallInput:mempool.G1 Old Gen.used thrpt 4 3421.500 KiB
ParseFromInputStream.parseSmallInput:mempool.G1 Survivor Space.used thrpt 4 142.852 KiB
ParseFromInputStream.parseSmallInput:mempool.Metaspace.used thrpt 4 5473.766 KiB
ParseFromInputStream.parseSmallInput:mempool.total.codeheap.used thrpt 4 6771.750 KiB
ParseFromInputStream.parseSmallInput:mempool.total.used thrpt 4 153579.789 KiB
ParseFromInputStream.parseTinyInput thrpt 4 147977.121 ± 4185.703 ops/s
ParseFromInputStream.parseTinyInput:gc.alloc.rate thrpt 4 3117.935 ± 88.118 MB/sec
ParseFromInputStream.parseTinyInput:gc.alloc.rate.norm thrpt 4 22096.028 ± 0.027 B/op
ParseFromInputStream.parseTinyInput:gc.count thrpt 4 1043.000 counts
ParseFromInputStream.parseTinyInput:gc.time thrpt 4 285.000 ms
ParseFromInputStream.parseTinyInput:mempool.CodeHeap 'non-nmethods'.used thrpt 4 1151.500 KiB
ParseFromInputStream.parseTinyInput:mempool.CodeHeap 'non-profiled nmethods'.used thrpt 4 2515.875 KiB
ParseFromInputStream.parseTinyInput:mempool.CodeHeap 'profiled nmethods'.used thrpt 4 3093.000 KiB
ParseFromInputStream.parseTinyInput:mempool.Compressed Class Space.used thrpt 4 578.414 KiB
ParseFromInputStream.parseTinyInput:mempool.G1 Eden Space.used thrpt 4 137216.000 KiB
ParseFromInputStream.parseTinyInput:mempool.G1 Old Gen.used thrpt 4 3367.000 KiB
ParseFromInputStream.parseTinyInput:mempool.G1 Survivor Space.used thrpt 4 74.961 KiB
ParseFromInputStream.parseTinyInput:mempool.Metaspace.used thrpt 4 5431.945 KiB
ParseFromInputStream.parseTinyInput:mempool.total.codeheap.used thrpt 4 6634.000 KiB
ParseFromInputStream.parseTinyInput:mempool.total.used thrpt 4 153250.594 KiB
ParseFromString.parseLargeString thrpt 4 1799.280 ± 52.511 ops/s
ParseFromString.parseLargeString:gc.alloc.rate thrpt 4 3720.950 ± 107.563 MB/sec
ParseFromString.parseLargeString:gc.alloc.rate.norm thrpt 4 2169273.997 ± 179.039 B/op
ParseFromString.parseLargeString:gc.count thrpt 4 358.000 counts
ParseFromString.parseLargeString:gc.time thrpt 4 753.000 ms
ParseFromString.parseLargeString:mempool.CodeHeap 'non-nmethods'.used thrpt 4 1166.750 KiB
ParseFromString.parseLargeString:mempool.CodeHeap 'non-profiled nmethods'.used thrpt 4 1555.000 KiB
ParseFromString.parseLargeString:mempool.CodeHeap 'profiled nmethods'.used thrpt 4 2623.875 KiB
ParseFromString.parseLargeString:mempool.Compressed Class Space.used thrpt 4 578.781 KiB
ParseFromString.parseLargeString:mempool.G1 Eden Space.used thrpt 4 502784.000 KiB
ParseFromString.parseLargeString:mempool.G1 Old Gen.used thrpt 4 106471.500 KiB
ParseFromString.parseLargeString:mempool.G1 Survivor Space.used thrpt 4 14033.922 KiB
ParseFromString.parseLargeString:mempool.Metaspace.used thrpt 4 5284.102 KiB
ParseFromString.parseLargeString:mempool.total.codeheap.used thrpt 4 5323.375 KiB
ParseFromString.parseLargeString:mempool.total.used thrpt 4 598582.711 KiB
ParseFromString.parseMediumString thrpt 4 80635.483 ± 14810.098 ops/s
ParseFromString.parseMediumString:gc.alloc.rate thrpt 4 4046.670 ± 769.347 MB/sec
ParseFromString.parseMediumString:gc.alloc.rate.norm thrpt 4 52632.051 ± 358.151 B/op
ParseFromString.parseMediumString:gc.count thrpt 4 1224.000 counts
ParseFromString.parseMediumString:gc.time thrpt 4 521.000 ms
ParseFromString.parseMediumString:mempool.CodeHeap 'non-nmethods'.used thrpt 4 1166.750 KiB
ParseFromString.parseMediumString:mempool.CodeHeap 'non-profiled nmethods'.used thrpt 4 1957.250 KiB
ParseFromString.parseMediumString:mempool.CodeHeap 'profiled nmethods'.used thrpt 4 2503.875 KiB
ParseFromString.parseMediumString:mempool.Compressed Class Space.used thrpt 4 578.781 KiB
ParseFromString.parseMediumString:mempool.G1 Eden Space.used thrpt 4 137216.000 KiB
ParseFromString.parseMediumString:mempool.G1 Old Gen.used thrpt 4 4245.500 KiB
ParseFromString.parseMediumString:mempool.G1 Survivor Space.used thrpt 4 355.789 KiB
ParseFromString.parseMediumString:mempool.Metaspace.used thrpt 4 5296.922 KiB
ParseFromString.parseMediumString:mempool.total.codeheap.used thrpt 4 5610.750 KiB
ParseFromString.parseMediumString:mempool.total.used thrpt 4 153248.477 KiB
ParseFromString.parseSmallString thrpt 4 271502.560 ± 3346.508 ops/s
ParseFromString.parseSmallString:gc.alloc.rate thrpt 4 5390.908 ± 250.535 MB/sec
ParseFromString.parseSmallString:gc.alloc.rate.norm thrpt 4 20824.015 ± 716.319 B/op
ParseFromString.parseSmallString:gc.count thrpt 4 1313.000 counts
ParseFromString.parseSmallString:gc.time thrpt 4 597.000 ms
ParseFromString.parseSmallString:mempool.CodeHeap 'non-nmethods'.used thrpt 4 1167.375 KiB
ParseFromString.parseSmallString:mempool.CodeHeap 'non-profiled nmethods'.used thrpt 4 1542.250 KiB
ParseFromString.parseSmallString:mempool.CodeHeap 'profiled nmethods'.used thrpt 4 2211.875 KiB
ParseFromString.parseSmallString:mempool.Compressed Class Space.used thrpt 4 578.781 KiB
ParseFromString.parseSmallString:mempool.G1 Eden Space.used thrpt 4 179200.000 KiB
ParseFromString.parseSmallString:mempool.G1 Old Gen.used thrpt 4 4277.000 KiB
ParseFromString.parseSmallString:mempool.G1 Survivor Space.used thrpt 4 128.273 KiB
ParseFromString.parseSmallString:mempool.Metaspace.used thrpt 4 5280.422 KiB
ParseFromString.parseSmallString:mempool.total.codeheap.used thrpt 4 4893.500 KiB
ParseFromString.parseSmallString:mempool.total.used thrpt 4 194218.961 KiB
ParseFromString.parseTinyString thrpt 4 1371700.142 ± 103523.055 ops/s
ParseFromString.parseTinyString:gc.alloc.rate thrpt 4 13110.630 ± 991.988 MB/sec
ParseFromString.parseTinyString:gc.alloc.rate.norm thrpt 4 10024.003 ± 0.003 B/op
ParseFromString.parseTinyString:gc.count thrpt 4 2029.000 counts
ParseFromString.parseTinyString:gc.time thrpt 4 1004.000 ms
ParseFromString.parseTinyString:mempool.CodeHeap 'non-nmethods'.used thrpt 4 1167.500 KiB
ParseFromString.parseTinyString:mempool.CodeHeap 'non-profiled nmethods'.used thrpt 4 1278.625 KiB
ParseFromString.parseTinyString:mempool.CodeHeap 'profiled nmethods'.used thrpt 4 1981.750 KiB
ParseFromString.parseTinyString:mempool.Compressed Class Space.used thrpt 4 578.281 KiB
ParseFromString.parseTinyString:mempool.G1 Eden Space.used thrpt 4 267264.000 KiB
ParseFromString.parseTinyString:mempool.G1 Old Gen.used thrpt 4 4321.000 KiB
ParseFromString.parseTinyString:mempool.G1 Survivor Space.used thrpt 4 74.625 KiB
ParseFromString.parseTinyString:mempool.Metaspace.used thrpt 4 5245.523 KiB
ParseFromString.parseTinyString:mempool.total.codeheap.used thrpt 4 4425.250 KiB
ParseFromString.parseTinyString:mempool.total.used thrpt 4 281807.180 KiB
% java -jar target/jsoup-bench.jar -r 10 -wi 2 -w 5 -t max -f 2 -i 2
# Detecting actual CPU count: 8 detected
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromInputStream.parseLargeInput
# Run progress: 0.00% complete, ETA 00:08:00
# Fork: 1 of 2
# Warmup Iteration 1: 1417.072 ops/s
# Warmup Iteration 2: 1613.589 ops/s
Iteration 1: 1620.319 ops/s
Iteration 2: 1619.440 ops/s
# Run progress: 6.25% complete, ETA 00:07:33
# Fork: 2 of 2
# Warmup Iteration 1: 1385.678 ops/s
# Warmup Iteration 2: 1597.823 ops/s
Iteration 1: 1611.255 ops/s
Iteration 2: 1623.844 ops/s
Result "org.jsoup.bench.ParseFromInputStream.parseLargeInput":
1618.714 ±(99.9%) 34.409 ops/s [Average]
(min, avg, max) = (1611.255, 1618.714, 1623.844), stdev = 5.325
CI (99.9%): [1584.305, 1653.123] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromInputStream.parseMediumInput
# Run progress: 12.50% complete, ETA 00:07:02
# Fork: 1 of 2
# Warmup Iteration 1: 37814.427 ops/s
# Warmup Iteration 2: 48157.542 ops/s
Iteration 1: 48016.113 ops/s
Iteration 2: 48341.978 ops/s
# Run progress: 18.75% complete, ETA 00:06:32
# Fork: 2 of 2
# Warmup Iteration 1: 40894.755 ops/s
# Warmup Iteration 2: 48959.060 ops/s
Iteration 1: 49347.942 ops/s
Iteration 2: 49250.643 ops/s
Result "org.jsoup.bench.ParseFromInputStream.parseMediumInput":
48739.169 ±(99.9%) 4274.660 ops/s [Average]
(min, avg, max) = (48016.113, 48739.169, 49347.942), stdev = 661.508
CI (99.9%): [44464.509, 53013.829] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromInputStream.parseSmallInput
# Run progress: 25.00% complete, ETA 00:06:02
# Fork: 1 of 2
# Warmup Iteration 1: 70137.762 ops/s
# Warmup Iteration 2: 92913.187 ops/s
Iteration 1: 93384.717 ops/s
Iteration 2: 93340.427 ops/s
# Run progress: 31.25% complete, ETA 00:05:31
# Fork: 2 of 2
# Warmup Iteration 1: 72106.712 ops/s
# Warmup Iteration 2: 93647.184 ops/s
Iteration 1: 93625.744 ops/s
Iteration 2: 93805.248 ops/s
Result "org.jsoup.bench.ParseFromInputStream.parseSmallInput":
93539.034 ±(99.9%) 1404.137 ops/s [Average]
(min, avg, max) = (93340.427, 93539.034, 93805.248), stdev = 217.292
CI (99.9%): [92134.897, 94943.171] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromInputStream.parseTinyInput
# Run progress: 37.50% complete, ETA 00:05:01
# Fork: 1 of 2
# Warmup Iteration 1: 127281.298 ops/s
# Warmup Iteration 2: 147494.419 ops/s
Iteration 1: 147734.801 ops/s
Iteration 2: 147794.171 ops/s
# Run progress: 43.75% complete, ETA 00:04:31
# Fork: 2 of 2
# Warmup Iteration 1: 121902.222 ops/s
# Warmup Iteration 2: 145970.389 ops/s
Iteration 1: 146093.292 ops/s
Iteration 2: 146233.776 ops/s
Result "org.jsoup.bench.ParseFromInputStream.parseTinyInput":
146964.010 ±(99.9%) 5986.417 ops/s [Average]
(min, avg, max) = (146093.292, 146964.010, 147794.171), stdev = 926.405
CI (99.9%): [140977.593, 152950.427] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromString.parseLargeString
# Run progress: 50.00% complete, ETA 00:04:01
# Fork: 1 of 2
# Warmup Iteration 1: 1618.139 ops/s
# Warmup Iteration 2: 1841.993 ops/s
Iteration 1: 1840.152 ops/s
Iteration 2: 1841.001 ops/s
# Run progress: 56.25% complete, ETA 00:03:31
# Fork: 2 of 2
# Warmup Iteration 1: 1477.640 ops/s
# Warmup Iteration 2: 1698.458 ops/s
Iteration 1: 1704.714 ops/s
Iteration 2: 1701.805 ops/s
Result "org.jsoup.bench.ParseFromString.parseLargeString":
1771.918 ±(99.9%) 512.367 ops/s [Average]
(min, avg, max) = (1701.805, 1771.918, 1841.001), stdev = 79.289
CI (99.9%): [1259.551, 2284.285] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromString.parseMediumString
# Run progress: 62.50% complete, ETA 00:03:01
# Fork: 1 of 2
# Warmup Iteration 1: 66705.605 ops/s
# Warmup Iteration 2: 82490.264 ops/s
Iteration 1: 82567.990 ops/s
Iteration 2: 82627.383 ops/s
# Run progress: 68.75% complete, ETA 00:02:30
# Fork: 2 of 2
# Warmup Iteration 1: 69958.870 ops/s
# Warmup Iteration 2: 81674.810 ops/s
Iteration 1: 82204.857 ops/s
Iteration 2: 82523.313 ops/s
Result "org.jsoup.bench.ParseFromString.parseMediumString":
82480.886 ±(99.9%) 1220.618 ops/s [Average]
(min, avg, max) = (82204.857, 82480.886, 82627.383), stdev = 188.892
CI (99.9%): [81260.267, 83701.504] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromString.parseSmallString
# Run progress: 75.00% complete, ETA 00:02:00
# Fork: 1 of 2
# Warmup Iteration 1: 233119.848 ops/s
# Warmup Iteration 2: 271517.708 ops/s
Iteration 1: 271221.393 ops/s
Iteration 2: 271095.323 ops/s
# Run progress: 81.25% complete, ETA 00:01:30
# Fork: 2 of 2
# Warmup Iteration 1: 218251.923 ops/s
# Warmup Iteration 2: 270421.658 ops/s
Iteration 1: 270232.062 ops/s
Iteration 2: 270190.614 ops/s
Result "org.jsoup.bench.ParseFromString.parseSmallString":
270684.848 ±(99.9%) 3550.475 ops/s [Average]
(min, avg, max) = (270190.614, 270684.848, 271221.393), stdev = 549.440
CI (99.9%): [267134.373, 274235.323] (assumes normal distribution)
# JMH version: 1.37
# VM version: JDK 17.0.11, OpenJDK 64-Bit Server VM, 17.0.11+0
# VM invoker: /opt/homebrew/Cellar/openjdk@17/17.0.11/libexec/openjdk.jdk/Contents/Home/bin/java
# VM options: <none>
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 2 iterations, 5 s each
# Measurement: 2 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 8 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jsoup.bench.ParseFromString.parseTinyString
# Run progress: 87.50% complete, ETA 00:01:00
# Fork: 1 of 2
# Warmup Iteration 1: 1178804.586 ops/s
# Warmup Iteration 2: 1360244.910 ops/s
Iteration 1: 1364762.635 ops/s
Iteration 2: 1364097.292 ops/s
# Run progress: 93.75% complete, ETA 00:00:30
# Fork: 2 of 2
# Warmup Iteration 1: 1202093.676 ops/s
# Warmup Iteration 2: 1350350.223 ops/s
Iteration 1: 1343460.514 ops/s
Iteration 2: 1351250.898 ops/s
Result "org.jsoup.bench.ParseFromString.parseTinyString":
1355892.835 ±(99.9%) 66957.421 ops/s [Average]
(min, avg, max) = (1343460.514, 1355892.835, 1364762.635), stdev = 10361.735
CI (99.9%): [1288935.414, 1422850.255] (assumes normal distribution)
# Run complete. Total time: 00:08:02
REMEMBER: The numbers below are just data. To gain reusable insights, you need to follow up on
why the numbers are the way they are. Use profilers (see -prof, -lprof), design factorial
experiments, perform baseline and negative tests that provide experimental control, make sure
the benchmarking environment is safe on JVM/OS/HW level, ask for reviews from the domain experts.
Do not assume the numbers tell you what you want them to tell.
NOTE: Current JVM experimentally supports Compiler Blackholes, and they are in use. Please exercise
extra caution when trusting the results, look into the generated code to check the benchmark still
works, and factor in a small probability of new VM bugs. Additionally, while comparisons between
different JVMs are already problematic, the performance difference caused by different Blackhole
modes can be very significant. Please make sure you use the consistent Blackhole mode for comparisons.
Benchmark Mode Cnt Score Error Units
ParseFromInputStream.parseLargeInput thrpt 4 1618.714 ± 34.409 ops/s
ParseFromInputStream.parseMediumInput thrpt 4 48739.169 ± 4274.660 ops/s
ParseFromInputStream.parseSmallInput thrpt 4 93539.034 ± 1404.137 ops/s
ParseFromInputStream.parseTinyInput thrpt 4 146964.010 ± 5986.417 ops/s
ParseFromString.parseLargeString thrpt 4 1771.918 ± 512.367 ops/s
ParseFromString.parseMediumString thrpt 4 82480.886 ± 1220.618 ops/s
ParseFromString.parseSmallString thrpt 4 270684.848 ± 3550.475 ops/s
ParseFromString.parseTinyString thrpt 4 1355892.835 ± 66957.421 ops/s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment