Created
July 22, 2024 15:52
-
-
Save Palmr/ca5ea3f56974b94cd3a0d8cf39abcd3e to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package uk.co.palmr.benchmarks; | |
import org.agrona.collections.IntHashSet; | |
import org.openjdk.jmh.annotations.*; | |
import org.openjdk.jmh.infra.Blackhole; | |
import org.openjdk.jmh.runner.Runner; | |
import org.openjdk.jmh.runner.RunnerException; | |
import org.openjdk.jmh.runner.options.Options; | |
import org.openjdk.jmh.runner.options.OptionsBuilder; | |
import java.util.*; | |
import java.util.concurrent.TimeUnit; | |
@BenchmarkMode(Mode.SampleTime) | |
@OutputTimeUnit(TimeUnit.MICROSECONDS) | |
@Warmup(iterations = 5, time = 5) | |
@Measurement(iterations = 3, time = 5) | |
@State(Scope.Benchmark) | |
public class ForLoopBenchmark { | |
private static final int ARRAY_LENGTH = 1_000_000; | |
private final int[] primitiveArray = new int[ARRAY_LENGTH]; | |
private final Integer[] objectArray = new Integer[ARRAY_LENGTH]; | |
private final List<Integer> integerList = new ArrayList<>(ARRAY_LENGTH); | |
private final IntHashSet agronaIntSet = new IntHashSet(); | |
private final Set<Integer> plainIntSet = new HashSet<>(); | |
private final Map<String, Integer> map = new HashMap<>(); | |
@Setup | |
public void setup() | |
{ | |
for (int i = 0; i < ARRAY_LENGTH; i++) { | |
primitiveArray[i] = i; | |
objectArray[i] = i; | |
integerList.add(i); | |
agronaIntSet.add(i); | |
plainIntSet.add(i); | |
map.put("item" + i, i); | |
} | |
agronaIntSet.compact(); | |
} | |
@Benchmark | |
public void primitiveArrayForI(final Blackhole bh) { | |
for (int i = 0; i < primitiveArray.length; i++) { | |
bh.consume(primitiveArray[i]); | |
} | |
} | |
@Benchmark | |
public void primitiveArrayEnhancedFor(final Blackhole bh) { | |
for (final int i : primitiveArray) { | |
bh.consume(i); | |
} | |
} | |
@Benchmark | |
public void objectArrayForI(final Blackhole bh) { | |
for (int i = 0; i < objectArray.length; i++) { | |
bh.consume(objectArray[i]); | |
} | |
} | |
@Benchmark | |
public void objectArrayEnhancedFor(final Blackhole bh) { | |
for (final Integer i : objectArray) { | |
bh.consume(i); | |
} | |
} | |
@Benchmark | |
public void integerListForI(final Blackhole bh) { | |
for (int i = 0; i < integerList.size(); i++) { | |
bh.consume(integerList.get(i)); | |
} | |
} | |
@Benchmark | |
public void integerListEnhancedFor(final Blackhole bh) { | |
for (final Integer i : integerList) { | |
bh.consume(i); | |
} | |
} | |
@Benchmark | |
public void integerListIteratorFor(final Blackhole bh) { | |
for (final Iterator<Integer> iterator = integerList.iterator(); iterator.hasNext();) { | |
bh.consume(iterator.next()); | |
} | |
} | |
@Benchmark | |
public void integerListIteratorWhile(final Blackhole bh) { | |
final Iterator<Integer> iterator = integerList.iterator(); | |
while (iterator.hasNext()) { | |
bh.consume(iterator.next()); | |
} | |
} | |
@Benchmark | |
public void agronaIntSetEnhancedFor(final Blackhole bh) { | |
for (final Integer i : agronaIntSet) { | |
bh.consume(i); | |
} | |
} | |
@Benchmark | |
public void agronaIntSetPrimitiveEnhancedFor(final Blackhole bh) { | |
for (final int i : agronaIntSet) { | |
bh.consume(i); | |
} | |
} | |
@Benchmark | |
public void agronaIntSetIteratorFor(final Blackhole bh) { | |
for (final Iterator<Integer> iterator = agronaIntSet.iterator(); iterator.hasNext();) { | |
bh.consume(iterator.next()); | |
} | |
} | |
@Benchmark | |
public void agronaIntSetIteratorWhile(final Blackhole bh) { | |
final Iterator<Integer> iterator = agronaIntSet.iterator(); | |
while (iterator.hasNext()) { | |
bh.consume(iterator.next()); | |
} | |
} | |
@Benchmark | |
public void agronaIntSetIntIteratorFor(final Blackhole bh) { | |
for (final IntHashSet.IntIterator iterator = agronaIntSet.iterator(); iterator.hasNext();) { | |
bh.consume(iterator.nextValue()); | |
} | |
} | |
@Benchmark | |
public void agronaIntSetIntIteratorWhile(final Blackhole bh) { | |
final IntHashSet.IntIterator iterator = agronaIntSet.iterator(); | |
while (iterator.hasNext()) { | |
bh.consume(iterator.nextValue()); | |
} | |
} | |
@Benchmark | |
public void plainIntSetEnhancedFor(final Blackhole bh) { | |
for (final Integer i : plainIntSet) { | |
bh.consume(i); | |
} | |
} | |
@Benchmark | |
public void plainIntSetIteratorFor(final Blackhole bh) { | |
for (final Iterator<Integer> iterator = plainIntSet.iterator(); iterator.hasNext();) { | |
bh.consume(iterator.next()); | |
} | |
} | |
@Benchmark | |
public void plainIntSetIteratorWhile(final Blackhole bh) { | |
final Iterator<Integer> iterator = plainIntSet.iterator(); | |
while (iterator.hasNext()) { | |
bh.consume(iterator.next()); | |
} | |
} | |
@Benchmark | |
public void mapEntrySetEnhancedFor(final Blackhole bh) { | |
for (final Map.Entry<String, Integer> i : map.entrySet()) { | |
bh.consume(i.getValue()); | |
} | |
} | |
@Benchmark | |
public void mapEntrySetIteratorFor(final Blackhole bh) { | |
for (final Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator(); iterator.hasNext();) { | |
bh.consume(iterator.next().getValue()); | |
} | |
} | |
@Benchmark | |
public void mapEntrySetIteratorWhile(final Blackhole bh) { | |
final Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator(); | |
while (iterator.hasNext()) { | |
bh.consume(iterator.next().getValue()); | |
} | |
} | |
public static void main(String[] args) throws RunnerException { | |
Options opt = new OptionsBuilder() | |
.include(ForLoopBenchmark.class.getSimpleName()) | |
.addProfiler("gc") | |
.addProfiler("perf") | |
// .addProfiler("stack") | |
.shouldFailOnError(true) | |
.build(); | |
new Runner(opt).run(); | |
} | |
} | |
/* | |
21:30:30: Executing ':ForLoopBenchmark.main()'... | |
> Task :compileJava UP-TO-DATE | |
> Task :processResources NO-SOURCE | |
> Task :classes UP-TO-DATE | |
> Task :compileTestJava NO-SOURCE | |
> Task :processTestResources NO-SOURCE | |
> Task :testClasses UP-TO-DATE | |
> Task :compileJmhJava | |
> Task :processJmhResources NO-SOURCE | |
> Task :jmhClasses | |
> Task :ForLoopBenchmark.main() | |
# JMH version: 1.36 | |
# VM version: JDK 21.0.4, OpenJDK 64-Bit Server VM, 21.0.4+7-LTS | |
# VM invoker: /home/nick/.jdks/azul-21.0.4/bin/java | |
# VM options: -Dfile.encoding=UTF-8 -Duser.country=GB -Duser.language=en -Duser.variant | |
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) | |
# Warmup: 5 iterations, 5 s each | |
# Measurement: 3 iterations, 5 s each | |
# Timeout: 10 min per iteration | |
# Threads: 1 thread, will synchronize iterations | |
# Benchmark mode: Sampling time | |
# Benchmark: uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetEnhancedFor | |
# Run progress: 0.00% complete, ETA 01:06:40 | |
# Fork: 1 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 8010.384 ±(99.9%) 93.488 us/op | |
# Warmup Iteration 2: 7785.513 ±(99.9%) 12.563 us/op | |
# Warmup Iteration 3: 7789.775 ±(99.9%) 13.060 us/op | |
# Warmup Iteration 4: 7770.532 ±(99.9%) 13.979 us/op | |
# Warmup Iteration 5: 7771.041 ±(99.9%) 12.240 us/op | |
Iteration 1: 7822.668 ±(99.9%) 13.679 us/op | |
agronaIntSetEnhancedFor·p0.00: 7667.712 us/op | |
agronaIntSetEnhancedFor·p0.50: 7815.168 us/op | |
agronaIntSetEnhancedFor·p0.90: 7913.472 us/op | |
agronaIntSetEnhancedFor·p0.95: 7954.432 us/op | |
agronaIntSetEnhancedFor·p0.99: 8303.411 us/op | |
agronaIntSetEnhancedFor·p0.999: 8847.360 us/op | |
agronaIntSetEnhancedFor·p0.9999: 8847.360 us/op | |
agronaIntSetEnhancedFor·p1.00: 8847.360 us/op | |
·gc.alloc.rate: 1949.146 MB/sec | |
·gc.alloc.rate.norm: 15998046.059 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 5.000 ms | |
Iteration 2: 7820.770 ±(99.9%) 15.458 us/op | |
agronaIntSetEnhancedFor·p0.00: 7659.520 us/op | |
agronaIntSetEnhancedFor·p0.50: 7806.976 us/op | |
agronaIntSetEnhancedFor·p0.90: 7913.472 us/op | |
agronaIntSetEnhancedFor·p0.95: 7962.624 us/op | |
agronaIntSetEnhancedFor·p0.99: 8352.563 us/op | |
agronaIntSetEnhancedFor·p0.999: 9158.656 us/op | |
agronaIntSetEnhancedFor·p0.9999: 9158.656 us/op | |
agronaIntSetEnhancedFor·p1.00: 9158.656 us/op | |
·gc.alloc.rate: 1949.625 MB/sec | |
·gc.alloc.rate.norm: 15998046.498 B/op | |
·gc.count: 5.000 counts | |
·gc.time: 4.000 ms | |
Iteration 3: 7830.667 ±(99.9%) 13.905 us/op | |
agronaIntSetEnhancedFor·p0.00: 7692.288 us/op | |
agronaIntSetEnhancedFor·p0.50: 7815.168 us/op | |
agronaIntSetEnhancedFor·p0.90: 7913.472 us/op | |
agronaIntSetEnhancedFor·p0.95: 7962.624 us/op | |
agronaIntSetEnhancedFor·p0.99: 8427.930 us/op | |
agronaIntSetEnhancedFor·p0.999: 8699.904 us/op | |
agronaIntSetEnhancedFor·p0.9999: 8699.904 us/op | |
agronaIntSetEnhancedFor·p1.00: 8699.904 us/op | |
·gc.alloc.rate: 1947.114 MB/sec | |
·gc.alloc.rate.norm: 15998046.247 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 4.000 ms | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 1.00% complete, ETA 01:06:42 | |
# Fork: 2 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 7717.395 ±(99.9%) 81.502 us/op | |
# Warmup Iteration 2: 7486.728 ±(99.9%) 12.714 us/op | |
# Warmup Iteration 3: 7468.304 ±(99.9%) 12.078 us/op | |
# Warmup Iteration 4: 7479.614 ±(99.9%) 11.838 us/op | |
# Warmup Iteration 5: 7476.529 ±(99.9%) 14.379 us/op | |
Iteration 1: 7498.136 ±(99.9%) 11.272 us/op | |
agronaIntSetEnhancedFor·p0.00: 7380.992 us/op | |
agronaIntSetEnhancedFor·p0.50: 7487.488 us/op | |
agronaIntSetEnhancedFor·p0.90: 7528.448 us/op | |
agronaIntSetEnhancedFor·p0.95: 7544.832 us/op | |
agronaIntSetEnhancedFor·p0.99: 7966.228 us/op | |
agronaIntSetEnhancedFor·p0.999: 8404.992 us/op | |
agronaIntSetEnhancedFor·p0.9999: 8404.992 us/op | |
agronaIntSetEnhancedFor·p1.00: 8404.992 us/op | |
·gc.alloc.rate: 2033.448 MB/sec | |
·gc.alloc.rate.norm: 15998041.427 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 4.000 ms | |
Iteration 2: 7737.471 ±(99.9%) 18.338 us/op | |
agronaIntSetEnhancedFor·p0.00: 7389.184 us/op | |
agronaIntSetEnhancedFor·p0.50: 7757.824 us/op | |
agronaIntSetEnhancedFor·p0.90: 7839.744 us/op | |
agronaIntSetEnhancedFor·p0.95: 7864.320 us/op | |
agronaIntSetEnhancedFor·p0.99: 8220.180 us/op | |
agronaIntSetEnhancedFor·p0.999: 8601.600 us/op | |
agronaIntSetEnhancedFor·p0.9999: 8601.600 us/op | |
agronaIntSetEnhancedFor·p1.00: 8601.600 us/op | |
·gc.alloc.rate: 1970.562 MB/sec | |
·gc.alloc.rate.norm: 15998045.969 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 5.000 ms | |
Iteration 3: 7789.099 ±(99.9%) 11.448 us/op | |
agronaIntSetEnhancedFor·p0.00: 7618.560 us/op | |
agronaIntSetEnhancedFor·p0.50: 7782.400 us/op | |
agronaIntSetEnhancedFor·p0.90: 7831.552 us/op | |
agronaIntSetEnhancedFor·p0.95: 7856.128 us/op | |
agronaIntSetEnhancedFor·p0.99: 8053.883 us/op | |
agronaIntSetEnhancedFor·p0.999: 8650.752 us/op | |
agronaIntSetEnhancedFor·p0.9999: 8650.752 us/op | |
agronaIntSetEnhancedFor·p1.00: 8650.752 us/op | |
·gc.alloc.rate: 1957.583 MB/sec | |
·gc.alloc.rate.norm: 15998045.371 B/op | |
·gc.count: 5.000 counts | |
·gc.time: 3.000 ms | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 2.00% complete, ETA 01:06:01 | |
# Fork: 3 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 7717.875 ±(99.9%) 90.373 us/op | |
# Warmup Iteration 2: 7515.168 ±(99.9%) 13.704 us/op | |
# Warmup Iteration 3: 7604.168 ±(99.9%) 21.072 us/op | |
# Warmup Iteration 4: 7794.624 ±(99.9%) 13.716 us/op | |
# Warmup Iteration 5: 7814.835 ±(99.9%) 15.618 us/op | |
Iteration 1: 7828.885 ±(99.9%) 13.632 us/op | |
agronaIntSetEnhancedFor·p0.00: 7684.096 us/op | |
agronaIntSetEnhancedFor·p0.50: 7815.168 us/op | |
agronaIntSetEnhancedFor·p0.90: 7905.280 us/op | |
agronaIntSetEnhancedFor·p0.95: 7938.048 us/op | |
agronaIntSetEnhancedFor·p0.99: 8437.760 us/op | |
agronaIntSetEnhancedFor·p0.999: 8978.432 us/op | |
agronaIntSetEnhancedFor·p0.9999: 8978.432 us/op | |
agronaIntSetEnhancedFor·p1.00: 8978.432 us/op | |
·gc.alloc.rate: 1947.638 MB/sec | |
·gc.alloc.rate.norm: 15998045.997 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 5.000 ms | |
Iteration 2: 7873.518 ±(99.9%) 28.577 us/op | |
agronaIntSetEnhancedFor·p0.00: 7716.864 us/op | |
agronaIntSetEnhancedFor·p0.50: 7831.552 us/op | |
agronaIntSetEnhancedFor·p0.90: 7970.816 us/op | |
agronaIntSetEnhancedFor·p0.95: 8046.182 us/op | |
agronaIntSetEnhancedFor·p0.99: 8773.304 us/op | |
agronaIntSetEnhancedFor·p0.999: 10567.680 us/op | |
agronaIntSetEnhancedFor·p0.9999: 10567.680 us/op | |
agronaIntSetEnhancedFor·p1.00: 10567.680 us/op | |
·gc.alloc.rate: 1936.546 MB/sec | |
·gc.alloc.rate.norm: 15998047.723 B/op | |
·gc.count: 5.000 counts | |
·gc.time: 3.000 ms | |
Iteration 3: 7819.584 ±(99.9%) 14.972 us/op | |
agronaIntSetEnhancedFor·p0.00: 7684.096 us/op | |
agronaIntSetEnhancedFor·p0.50: 7806.976 us/op | |
agronaIntSetEnhancedFor·p0.90: 7897.088 us/op | |
agronaIntSetEnhancedFor·p0.95: 7946.240 us/op | |
agronaIntSetEnhancedFor·p0.99: 8540.324 us/op | |
agronaIntSetEnhancedFor·p0.999: 8863.744 us/op | |
agronaIntSetEnhancedFor·p0.9999: 8863.744 us/op | |
agronaIntSetEnhancedFor·p1.00: 8863.744 us/op | |
·gc.alloc.rate: 1949.921 MB/sec | |
·gc.alloc.rate.norm: 15998045.788 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 6.000 ms | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 3.00% complete, ETA 01:05:21 | |
# Fork: 4 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 7969.888 ±(99.9%) 75.076 us/op | |
# Warmup Iteration 2: 7795.237 ±(99.9%) 12.258 us/op | |
# Warmup Iteration 3: 7776.285 ±(99.9%) 12.264 us/op | |
# Warmup Iteration 4: 7779.062 ±(99.9%) 11.758 us/op | |
# Warmup Iteration 5: 7767.428 ±(99.9%) 13.021 us/op | |
Iteration 1: 7825.488 ±(99.9%) 11.251 us/op | |
agronaIntSetEnhancedFor·p0.00: 7692.288 us/op | |
agronaIntSetEnhancedFor·p0.50: 7823.360 us/op | |
agronaIntSetEnhancedFor·p0.90: 7880.704 us/op | |
agronaIntSetEnhancedFor·p0.95: 7905.280 us/op | |
agronaIntSetEnhancedFor·p0.99: 8015.053 us/op | |
agronaIntSetEnhancedFor·p0.999: 8749.056 us/op | |
agronaIntSetEnhancedFor·p0.9999: 8749.056 us/op | |
agronaIntSetEnhancedFor·p1.00: 8749.056 us/op | |
·gc.alloc.rate: 1948.477 MB/sec | |
·gc.alloc.rate.norm: 15998045.433 B/op | |
·gc.count: 5.000 counts | |
·gc.time: 4.000 ms | |
Iteration 2: 7852.771 ±(99.9%) 27.387 us/op | |
agronaIntSetEnhancedFor·p0.00: 7684.096 us/op | |
agronaIntSetEnhancedFor·p0.50: 7815.168 us/op | |
agronaIntSetEnhancedFor·p0.90: 7913.472 us/op | |
agronaIntSetEnhancedFor·p0.95: 8013.414 us/op | |
agronaIntSetEnhancedFor·p0.99: 8885.699 us/op | |
agronaIntSetEnhancedFor·p0.999: 10305.536 us/op | |
agronaIntSetEnhancedFor·p0.9999: 10305.536 us/op | |
agronaIntSetEnhancedFor·p1.00: 10305.536 us/op | |
·gc.alloc.rate: 1941.710 MB/sec | |
·gc.alloc.rate.norm: 15998047.422 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 4.000 ms | |
Iteration 3: 7799.321 ±(99.9%) 13.671 us/op | |
agronaIntSetEnhancedFor·p0.00: 7684.096 us/op | |
agronaIntSetEnhancedFor·p0.50: 7790.592 us/op | |
agronaIntSetEnhancedFor·p0.90: 7864.320 us/op | |
agronaIntSetEnhancedFor·p0.95: 7897.088 us/op | |
agronaIntSetEnhancedFor·p0.99: 8334.705 us/op | |
agronaIntSetEnhancedFor·p0.999: 8847.360 us/op | |
agronaIntSetEnhancedFor·p0.9999: 8847.360 us/op | |
agronaIntSetEnhancedFor·p1.00: 8847.360 us/op | |
·gc.alloc.rate: 1954.994 MB/sec | |
·gc.alloc.rate.norm: 15998045.392 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 5.000 ms | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 4.00% complete, ETA 01:04:40 | |
# Fork: 5 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 7778.285 ±(99.9%) 80.142 us/op | |
# Warmup Iteration 2: 7559.088 ±(99.9%) 12.422 us/op | |
# Warmup Iteration 3: 7767.097 ±(99.9%) 16.135 us/op | |
# Warmup Iteration 4: 7827.950 ±(99.9%) 12.681 us/op | |
# Warmup Iteration 5: 7792.978 ±(99.9%) 14.402 us/op | |
Iteration 1: 7849.286 ±(99.9%) 13.265 us/op | |
agronaIntSetEnhancedFor·p0.00: 7634.944 us/op | |
agronaIntSetEnhancedFor·p0.50: 7847.936 us/op | |
agronaIntSetEnhancedFor·p0.90: 7913.472 us/op | |
agronaIntSetEnhancedFor·p0.95: 7929.856 us/op | |
agronaIntSetEnhancedFor·p0.99: 8473.149 us/op | |
agronaIntSetEnhancedFor·p0.999: 8716.288 us/op | |
agronaIntSetEnhancedFor·p0.9999: 8716.288 us/op | |
agronaIntSetEnhancedFor·p1.00: 8716.288 us/op | |
·gc.alloc.rate: 1942.565 MB/sec | |
·gc.alloc.rate.norm: 15998046.292 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 5.000 ms | |
Iteration 2: 7822.181 ±(99.9%) 12.764 us/op | |
agronaIntSetEnhancedFor·p0.00: 7659.520 us/op | |
agronaIntSetEnhancedFor·p0.50: 7831.552 us/op | |
agronaIntSetEnhancedFor·p0.90: 7897.088 us/op | |
agronaIntSetEnhancedFor·p0.95: 7921.664 us/op | |
agronaIntSetEnhancedFor·p0.99: 8057.651 us/op | |
agronaIntSetEnhancedFor·p0.999: 8749.056 us/op | |
agronaIntSetEnhancedFor·p0.9999: 8749.056 us/op | |
agronaIntSetEnhancedFor·p1.00: 8749.056 us/op | |
·gc.alloc.rate: 1949.295 MB/sec | |
·gc.alloc.rate.norm: 15998045.809 B/op | |
·gc.count: 5.000 counts | |
·gc.time: 4.000 ms | |
Iteration 3: 7859.284 ±(99.9%) 11.609 us/op | |
agronaIntSetEnhancedFor·p0.00: 7692.288 us/op | |
agronaIntSetEnhancedFor·p0.50: 7856.128 us/op | |
agronaIntSetEnhancedFor·p0.90: 7897.088 us/op | |
agronaIntSetEnhancedFor·p0.95: 7921.664 us/op | |
agronaIntSetEnhancedFor·p0.99: 8450.621 us/op | |
agronaIntSetEnhancedFor·p0.999: 8749.056 us/op | |
agronaIntSetEnhancedFor·p0.9999: 8749.056 us/op | |
agronaIntSetEnhancedFor·p1.00: 8749.056 us/op | |
·gc.alloc.rate: 1940.101 MB/sec | |
·gc.alloc.rate.norm: 15998046.126 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 5.000 ms | |
# Processing profiler results: LinuxPerfProfiler | |
Result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetEnhancedFor": | |
N = 9615 | |
mean = 7800.940 ±(99.9%) 5.120 us/op | |
Histogram, us/op: | |
[ 7000.000, 7250.000) = 0 | |
[ 7250.000, 7500.000) = 513 | |
[ 7500.000, 7750.000) = 1819 | |
[ 7750.000, 8000.000) = 7067 | |
[ 8000.000, 8250.000) = 98 | |
[ 8250.000, 8500.000) = 28 | |
[ 8500.000, 8750.000) = 65 | |
[ 8750.000, 9000.000) = 15 | |
[ 9000.000, 9250.000) = 2 | |
[ 9250.000, 9500.000) = 4 | |
[ 9500.000, 9750.000) = 0 | |
[ 9750.000, 10000.000) = 0 | |
[10000.000, 10250.000) = 1 | |
[10250.000, 10500.000) = 1 | |
[10500.000, 10750.000) = 2 | |
Percentiles, us/op: | |
p(0.0000) = 7380.992 us/op | |
p(50.0000) = 7806.976 us/op | |
p(90.0000) = 7897.088 us/op | |
p(95.0000) = 7929.856 us/op | |
p(99.0000) = 8467.907 us/op | |
p(99.9000) = 9148.563 us/op | |
p(99.9900) = 10567.680 us/op | |
p(99.9990) = 10567.680 us/op | |
p(99.9999) = 10567.680 us/op | |
p(100.0000) = 10567.680 us/op | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetEnhancedFor:·gc.alloc.rate": | |
1954.582 ±(99.9%) 24.867 MB/sec [Average] | |
(min, avg, max) = (1936.546, 1954.582, 2033.448), stdev = 23.260 | |
CI (99.9%): [1929.715, 1979.448] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetEnhancedFor:·gc.alloc.rate.norm": | |
15998045.837 ±(99.9%) 1.487 B/op [Average] | |
(min, avg, max) = (15998041.427, 15998045.837, 15998047.723), stdev = 1.391 | |
CI (99.9%): [15998044.350, 15998047.324] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetEnhancedFor:·gc.count": | |
85.000 ±(99.9%) 0.001 counts [Sum] | |
(min, avg, max) = (5.000, 5.667, 6.000), stdev = 0.488 | |
CI (99.9%): [85.000, 85.000] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetEnhancedFor:·gc.time": | |
66.000 ±(99.9%) 0.001 ms [Sum] | |
(min, avg, max) = (3.000, 4.400, 6.000), stdev = 0.828 | |
CI (99.9%): [66.000, 66.000] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetEnhancedFor:·perf": | |
Perf stats: | |
-------------------------------------------------- | |
14,510.65 msec task-clock:u # 1.007 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
62 page-faults:u # 4.273 /sec | |
75,332,721,664 cycles:u # 5.192 GHz (36.13%) | |
12,064,265,039 stalled-cycles-frontend:u # 16.01% frontend cycles idle (36.23%) | |
132,079,481,253 instructions:u # 1.75 insn per cycle | |
# 0.09 stalled cycles per insn (36.26%) | |
22,140,971,550 branches:u # 1.526 G/sec (36.27%) | |
1,657,734,745 branch-misses:u # 7.49% of all branches (36.32%) | |
82,282,580,978 L1-dcache-loads:u # 5.670 G/sec (35.67%) | |
711,773,205 L1-dcache-load-misses:u # 0.87% of all L1-dcache accesses (35.70%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
26,508,734 L1-icache-loads:u # 1.827 M/sec (35.74%) | |
111,068 L1-icache-load-misses:u # 0.42% of all L1-icache accesses (35.75%) | |
590,139 dTLB-loads:u # 40.669 K/sec (35.72%) | |
65,612 dTLB-load-misses:u # 11.12% of all dTLB cache accesses (35.70%) | |
2,625 iTLB-loads:u # 180.902 /sec (35.69%) | |
1,474 iTLB-load-misses:u # 56.15% of all iTLB cache accesses (35.73%) | |
688,122,976 L1-dcache-prefetches:u # 47.422 M/sec (35.73%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.414947864 seconds time elapsed | |
41.302158000 seconds user | |
0.333236000 seconds sys | |
14,508.26 msec task-clock:u # 1.007 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
82 page-faults:u # 5.652 /sec | |
76,496,111,146 cycles:u # 5.273 GHz (36.08%) | |
12,285,591,965 stalled-cycles-frontend:u # 16.06% frontend cycles idle (36.21%) | |
134,654,931,395 instructions:u # 1.76 insn per cycle | |
# 0.09 stalled cycles per insn (36.28%) | |
22,566,707,865 branches:u # 1.555 G/sec (36.32%) | |
1,688,018,956 branch-misses:u # 7.48% of all branches (36.37%) | |
82,643,020,825 L1-dcache-loads:u # 5.696 G/sec (35.81%) | |
725,337,830 L1-dcache-load-misses:u # 0.88% of all L1-dcache accesses (35.76%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
26,974,027 L1-icache-loads:u # 1.859 M/sec (35.75%) | |
112,979 L1-icache-load-misses:u # 0.42% of all L1-icache accesses (35.72%) | |
620,472 dTLB-loads:u # 42.767 K/sec (35.66%) | |
85,480 dTLB-load-misses:u # 13.78% of all dTLB cache accesses (35.65%) | |
4,455 iTLB-loads:u # 307.066 /sec (35.64%) | |
1,495 iTLB-load-misses:u # 33.56% of all iTLB cache accesses (35.63%) | |
700,837,392 L1-dcache-prefetches:u # 48.306 M/sec (35.70%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.414429338 seconds time elapsed | |
41.377913000 seconds user | |
0.331305000 seconds sys | |
14,506.46 msec task-clock:u # 1.007 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
68 page-faults:u # 4.688 /sec | |
75,037,658,552 cycles:u # 5.173 GHz (36.27%) | |
12,031,697,137 stalled-cycles-frontend:u # 16.03% frontend cycles idle (36.32%) | |
131,514,226,720 instructions:u # 1.75 insn per cycle | |
# 0.09 stalled cycles per insn (36.33%) | |
22,049,403,051 branches:u # 1.520 G/sec (36.33%) | |
1,650,864,190 branch-misses:u # 7.49% of all branches (36.36%) | |
82,332,216,834 L1-dcache-loads:u # 5.676 G/sec (35.52%) | |
708,985,822 L1-dcache-load-misses:u # 0.86% of all L1-dcache accesses (35.73%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
24,930,036 L1-icache-loads:u # 1.719 M/sec (35.73%) | |
111,880 L1-icache-load-misses:u # 0.45% of all L1-icache accesses (35.72%) | |
599,017 dTLB-loads:u # 41.293 K/sec (35.72%) | |
64,353 dTLB-load-misses:u # 10.74% of all dTLB cache accesses (35.70%) | |
893 iTLB-loads:u # 61.559 /sec (35.68%) | |
193 iTLB-load-misses:u # 21.61% of all iTLB cache accesses (35.74%) | |
686,082,017 L1-dcache-prefetches:u # 47.295 M/sec (35.72%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.403087816 seconds time elapsed | |
41.211706000 seconds user | |
0.471696000 seconds sys | |
14,511.13 msec task-clock:u # 1.007 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
67 page-faults:u # 4.617 /sec | |
75,223,322,207 cycles:u # 5.184 GHz (36.00%) | |
12,018,148,780 stalled-cycles-frontend:u # 15.98% frontend cycles idle (36.20%) | |
131,961,139,155 instructions:u # 1.75 insn per cycle | |
# 0.09 stalled cycles per insn (36.29%) | |
22,122,810,138 branches:u # 1.525 G/sec (36.32%) | |
1,653,599,163 branch-misses:u # 7.47% of all branches (36.33%) | |
80,968,241,000 L1-dcache-loads:u # 5.580 G/sec (35.94%) | |
715,688,881 L1-dcache-load-misses:u # 0.88% of all L1-dcache accesses (35.62%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
26,636,162 L1-icache-loads:u # 1.836 M/sec (35.64%) | |
113,716 L1-icache-load-misses:u # 0.43% of all L1-icache accesses (35.70%) | |
631,089 dTLB-loads:u # 43.490 K/sec (35.73%) | |
75,730 dTLB-load-misses:u # 12.00% of all dTLB cache accesses (35.72%) | |
594 iTLB-loads:u # 40.934 /sec (35.69%) | |
1,043 iTLB-load-misses:u # 175.59% of all iTLB cache accesses (35.76%) | |
687,605,804 L1-dcache-prefetches:u # 47.385 M/sec (35.75%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.412414461 seconds time elapsed | |
41.200747000 seconds user | |
0.499562000 seconds sys | |
14,510.54 msec task-clock:u # 1.007 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
79 page-faults:u # 5.444 /sec | |
75,342,574,800 cycles:u # 5.192 GHz (35.97%) | |
12,176,986,810 stalled-cycles-frontend:u # 16.16% frontend cycles idle (36.19%) | |
131,735,016,448 instructions:u # 1.75 insn per cycle | |
# 0.09 stalled cycles per insn (36.32%) | |
22,073,302,152 branches:u # 1.521 G/sec (36.35%) | |
1,661,793,206 branch-misses:u # 7.53% of all branches (36.35%) | |
81,573,476,244 L1-dcache-loads:u # 5.622 G/sec (36.00%) | |
715,355,698 L1-dcache-load-misses:u # 0.88% of all L1-dcache accesses (35.64%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
29,288,635 L1-icache-loads:u # 2.018 M/sec (35.56%) | |
106,267 L1-icache-load-misses:u # 0.36% of all L1-icache accesses (35.62%) | |
615,767 dTLB-loads:u # 42.436 K/sec (35.70%) | |
66,412 dTLB-load-misses:u # 10.79% of all dTLB cache accesses (35.75%) | |
539 iTLB-loads:u # 37.145 /sec (35.74%) | |
724 iTLB-load-misses:u # 134.32% of all iTLB cache accesses (35.74%) | |
686,371,331 L1-dcache-prefetches:u # 47.302 M/sec (35.72%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.408258995 seconds time elapsed | |
41.246757000 seconds user | |
0.392072000 seconds sys | |
# JMH version: 1.36 | |
# VM version: JDK 21.0.4, OpenJDK 64-Bit Server VM, 21.0.4+7-LTS | |
# VM invoker: /home/nick/.jdks/azul-21.0.4/bin/java | |
# VM options: -Dfile.encoding=UTF-8 -Duser.country=GB -Duser.language=en -Duser.variant | |
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) | |
# Warmup: 5 iterations, 5 s each | |
# Measurement: 3 iterations, 5 s each | |
# Timeout: 10 min per iteration | |
# Threads: 1 thread, will synchronize iterations | |
# Benchmark mode: Sampling time | |
# Benchmark: uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetIntIteratorFor | |
# Run progress: 5.00% complete, ETA 01:04:00 | |
# Fork: 1 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 5593.853 ±(99.9%) 13.099 us/op | |
# Warmup Iteration 2: 5570.478 ±(99.9%) 9.190 us/op | |
# Warmup Iteration 3: 5567.294 ±(99.9%) 5.080 us/op | |
# Warmup Iteration 4: 5580.370 ±(99.9%) 6.832 us/op | |
# Warmup Iteration 5: 5567.322 ±(99.9%) 8.669 us/op | |
Iteration 1: 5600.869 ±(99.9%) 6.008 us/op | |
agronaIntSetIntIteratorFor·p0.00: 5308.416 us/op | |
agronaIntSetIntIteratorFor·p0.50: 5603.328 us/op | |
agronaIntSetIntIteratorFor·p0.90: 5636.096 us/op | |
agronaIntSetIntIteratorFor·p0.95: 5644.288 us/op | |
agronaIntSetIntIteratorFor·p0.99: 5677.056 us/op | |
agronaIntSetIntIteratorFor·p0.999: 5734.400 us/op | |
agronaIntSetIntIteratorFor·p0.9999: 5734.400 us/op | |
agronaIntSetIntIteratorFor·p1.00: 5734.400 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.132 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 5611.474 ±(99.9%) 7.761 us/op | |
agronaIntSetIntIteratorFor·p0.00: 5292.032 us/op | |
agronaIntSetIntIteratorFor·p0.50: 5627.904 us/op | |
agronaIntSetIntIteratorFor·p0.90: 5660.672 us/op | |
agronaIntSetIntIteratorFor·p0.95: 5668.864 us/op | |
agronaIntSetIntIteratorFor·p0.99: 5709.824 us/op | |
agronaIntSetIntIteratorFor·p0.999: 5775.360 us/op | |
agronaIntSetIntIteratorFor·p0.9999: 5775.360 us/op | |
agronaIntSetIntIteratorFor·p1.00: 5775.360 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.900 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 5577.637 ±(99.9%) 6.236 us/op | |
agronaIntSetIntIteratorFor·p0.00: 5267.456 us/op | |
agronaIntSetIntIteratorFor·p0.50: 5582.848 us/op | |
agronaIntSetIntIteratorFor·p0.90: 5611.520 us/op | |
agronaIntSetIntIteratorFor·p0.95: 5627.904 us/op | |
agronaIntSetIntIteratorFor·p0.99: 5668.864 us/op | |
agronaIntSetIntIteratorFor·p0.999: 5881.856 us/op | |
agronaIntSetIntIteratorFor·p0.9999: 5881.856 us/op | |
agronaIntSetIntIteratorFor·p1.00: 5881.856 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.607 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 6.00% complete, ETA 01:03:19 | |
# Fork: 2 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 5594.521 ±(99.9%) 13.584 us/op | |
# Warmup Iteration 2: 5577.737 ±(99.9%) 7.964 us/op | |
# Warmup Iteration 3: 5527.588 ±(99.9%) 14.506 us/op | |
# Warmup Iteration 4: 5418.507 ±(99.9%) 8.527 us/op | |
# Warmup Iteration 5: 5419.221 ±(99.9%) 4.606 us/op | |
Iteration 1: 5410.337 ±(99.9%) 7.238 us/op | |
agronaIntSetIntIteratorFor·p0.00: 4997.120 us/op | |
agronaIntSetIntIteratorFor·p0.50: 5423.104 us/op | |
agronaIntSetIntIteratorFor·p0.90: 5447.680 us/op | |
agronaIntSetIntIteratorFor·p0.95: 5455.872 us/op | |
agronaIntSetIntIteratorFor·p0.99: 5472.256 us/op | |
agronaIntSetIntIteratorFor·p0.999: 5562.368 us/op | |
agronaIntSetIntIteratorFor·p0.9999: 5562.368 us/op | |
agronaIntSetIntIteratorFor·p1.00: 5562.368 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 33.316 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 5410.204 ±(99.9%) 5.260 us/op | |
agronaIntSetIntIteratorFor·p0.00: 5111.808 us/op | |
agronaIntSetIntIteratorFor·p0.50: 5414.912 us/op | |
agronaIntSetIntIteratorFor·p0.90: 5439.488 us/op | |
agronaIntSetIntIteratorFor·p0.95: 5455.872 us/op | |
agronaIntSetIntIteratorFor·p0.99: 5480.448 us/op | |
agronaIntSetIntIteratorFor·p0.999: 5758.976 us/op | |
agronaIntSetIntIteratorFor·p0.9999: 5758.976 us/op | |
agronaIntSetIntIteratorFor·p1.00: 5758.976 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 33.212 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 5412.093 ±(99.9%) 6.415 us/op | |
agronaIntSetIntIteratorFor·p0.00: 5103.616 us/op | |
agronaIntSetIntIteratorFor·p0.50: 5414.912 us/op | |
agronaIntSetIntIteratorFor·p0.90: 5455.872 us/op | |
agronaIntSetIntIteratorFor·p0.95: 5464.064 us/op | |
agronaIntSetIntIteratorFor·p0.99: 5537.792 us/op | |
agronaIntSetIntIteratorFor·p0.999: 5718.016 us/op | |
agronaIntSetIntIteratorFor·p0.9999: 5718.016 us/op | |
agronaIntSetIntIteratorFor·p1.00: 5718.016 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 33.307 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 7.00% complete, ETA 01:02:39 | |
# Fork: 3 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 5141.517 ±(99.9%) 12.961 us/op | |
# Warmup Iteration 2: 5365.136 ±(99.9%) 9.438 us/op | |
# Warmup Iteration 3: 5315.153 ±(99.9%) 11.382 us/op | |
# Warmup Iteration 4: 5413.190 ±(99.9%) 11.555 us/op | |
# Warmup Iteration 5: 5542.015 ±(99.9%) 13.384 us/op | |
Iteration 1: 5604.458 ±(99.9%) 4.214 us/op | |
agronaIntSetIntIteratorFor·p0.00: 5275.648 us/op | |
agronaIntSetIntIteratorFor·p0.50: 5603.328 us/op | |
agronaIntSetIntIteratorFor·p0.90: 5636.096 us/op | |
agronaIntSetIntIteratorFor·p0.95: 5638.963 us/op | |
agronaIntSetIntIteratorFor·p0.99: 5660.672 us/op | |
agronaIntSetIntIteratorFor·p0.999: 5750.784 us/op | |
agronaIntSetIntIteratorFor·p0.9999: 5750.784 us/op | |
agronaIntSetIntIteratorFor·p1.00: 5750.784 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.430 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 5562.687 ±(99.9%) 10.996 us/op | |
agronaIntSetIntIteratorFor·p0.00: 5316.608 us/op | |
agronaIntSetIntIteratorFor·p0.50: 5595.136 us/op | |
agronaIntSetIntIteratorFor·p0.90: 5636.096 us/op | |
agronaIntSetIntIteratorFor·p0.95: 5652.480 us/op | |
agronaIntSetIntIteratorFor·p0.99: 5677.056 us/op | |
agronaIntSetIntIteratorFor·p0.999: 6168.576 us/op | |
agronaIntSetIntIteratorFor·p0.9999: 6168.576 us/op | |
agronaIntSetIntIteratorFor·p1.00: 6168.576 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.305 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 5592.369 ±(99.9%) 8.298 us/op | |
agronaIntSetIntIteratorFor·p0.00: 5308.416 us/op | |
agronaIntSetIntIteratorFor·p0.50: 5611.520 us/op | |
agronaIntSetIntIteratorFor·p0.90: 5636.096 us/op | |
agronaIntSetIntIteratorFor·p0.95: 5644.288 us/op | |
agronaIntSetIntIteratorFor·p0.99: 5677.466 us/op | |
agronaIntSetIntIteratorFor·p0.999: 5914.624 us/op | |
agronaIntSetIntIteratorFor·p0.9999: 5914.624 us/op | |
agronaIntSetIntIteratorFor·p1.00: 5914.624 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.506 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 8.00% complete, ETA 01:01:58 | |
# Fork: 4 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 5561.256 ±(99.9%) 17.797 us/op | |
# Warmup Iteration 2: 5564.156 ±(99.9%) 8.476 us/op | |
# Warmup Iteration 3: 5579.483 ±(99.9%) 7.221 us/op | |
# Warmup Iteration 4: 5560.591 ±(99.9%) 11.143 us/op | |
# Warmup Iteration 5: 5572.542 ±(99.9%) 6.391 us/op | |
Iteration 1: 5599.071 ±(99.9%) 8.215 us/op | |
agronaIntSetIntIteratorFor·p0.00: 5267.456 us/op | |
agronaIntSetIntIteratorFor·p0.50: 5611.520 us/op | |
agronaIntSetIntIteratorFor·p0.90: 5636.096 us/op | |
agronaIntSetIntIteratorFor·p0.95: 5636.096 us/op | |
agronaIntSetIntIteratorFor·p0.99: 5677.548 us/op | |
agronaIntSetIntIteratorFor·p0.999: 5767.168 us/op | |
agronaIntSetIntIteratorFor·p0.9999: 5767.168 us/op | |
agronaIntSetIntIteratorFor·p1.00: 5767.168 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.258 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 5574.487 ±(99.9%) 11.847 us/op | |
agronaIntSetIntIteratorFor·p0.00: 5283.840 us/op | |
agronaIntSetIntIteratorFor·p0.50: 5611.520 us/op | |
agronaIntSetIntIteratorFor·p0.90: 5636.096 us/op | |
agronaIntSetIntIteratorFor·p0.95: 5652.480 us/op | |
agronaIntSetIntIteratorFor·p0.99: 5693.604 us/op | |
agronaIntSetIntIteratorFor·p0.999: 5947.392 us/op | |
agronaIntSetIntIteratorFor·p0.9999: 5947.392 us/op | |
agronaIntSetIntIteratorFor·p1.00: 5947.392 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.453 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 5600.704 ±(99.9%) 8.145 us/op | |
agronaIntSetIntIteratorFor·p0.00: 5292.032 us/op | |
agronaIntSetIntIteratorFor·p0.50: 5611.520 us/op | |
agronaIntSetIntIteratorFor·p0.90: 5644.288 us/op | |
agronaIntSetIntIteratorFor·p0.95: 5660.672 us/op | |
agronaIntSetIntIteratorFor·p0.99: 5726.208 us/op | |
agronaIntSetIntIteratorFor·p0.999: 5898.240 us/op | |
agronaIntSetIntIteratorFor·p0.9999: 5898.240 us/op | |
agronaIntSetIntIteratorFor·p1.00: 5898.240 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.679 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 9.00% complete, ETA 01:01:17 | |
# Fork: 5 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 5374.102 ±(99.9%) 16.760 us/op | |
# Warmup Iteration 2: 5365.936 ±(99.9%) 7.797 us/op | |
# Warmup Iteration 3: 5413.829 ±(99.9%) 7.259 us/op | |
# Warmup Iteration 4: 5442.242 ±(99.9%) 6.055 us/op | |
# Warmup Iteration 5: 5441.101 ±(99.9%) 6.703 us/op | |
Iteration 1: 5409.061 ±(99.9%) 4.710 us/op | |
agronaIntSetIntIteratorFor·p0.00: 5111.808 us/op | |
agronaIntSetIntIteratorFor·p0.50: 5423.104 us/op | |
agronaIntSetIntIteratorFor·p0.90: 5439.488 us/op | |
agronaIntSetIntIteratorFor·p0.95: 5447.680 us/op | |
agronaIntSetIntIteratorFor·p0.99: 5464.064 us/op | |
agronaIntSetIntIteratorFor·p0.999: 5521.408 us/op | |
agronaIntSetIntIteratorFor·p0.9999: 5521.408 us/op | |
agronaIntSetIntIteratorFor·p1.00: 5521.408 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 33.169 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 5403.930 ±(99.9%) 6.292 us/op | |
agronaIntSetIntIteratorFor·p0.00: 5144.576 us/op | |
agronaIntSetIntIteratorFor·p0.50: 5406.720 us/op | |
agronaIntSetIntIteratorFor·p0.90: 5447.680 us/op | |
agronaIntSetIntIteratorFor·p0.95: 5455.872 us/op | |
agronaIntSetIntIteratorFor·p0.99: 5505.024 us/op | |
agronaIntSetIntIteratorFor·p0.999: 5677.056 us/op | |
agronaIntSetIntIteratorFor·p0.9999: 5677.056 us/op | |
agronaIntSetIntIteratorFor·p1.00: 5677.056 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 33.081 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 5362.350 ±(99.9%) 12.105 us/op | |
agronaIntSetIntIteratorFor·p0.00: 5095.424 us/op | |
agronaIntSetIntIteratorFor·p0.50: 5398.528 us/op | |
agronaIntSetIntIteratorFor·p0.90: 5439.488 us/op | |
agronaIntSetIntIteratorFor·p0.95: 5455.872 us/op | |
agronaIntSetIntIteratorFor·p0.99: 5485.937 us/op | |
agronaIntSetIntIteratorFor·p0.999: 5832.704 us/op | |
agronaIntSetIntIteratorFor·p0.9999: 5832.704 us/op | |
agronaIntSetIntIteratorFor·p1.00: 5832.704 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 32.987 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
Result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetIntIteratorFor": | |
N = 13601 | |
mean = 5513.827 ±(99.9%) 3.369 us/op | |
Histogram, us/op: | |
[4000.000, 4250.000) = 0 | |
[4250.000, 4500.000) = 0 | |
[4500.000, 4750.000) = 0 | |
[4750.000, 5000.000) = 1 | |
[5000.000, 5250.000) = 301 | |
[5250.000, 5500.000) = 5767 | |
[5500.000, 5750.000) = 7505 | |
[5750.000, 6000.000) = 26 | |
[6000.000, 6250.000) = 1 | |
[6250.000, 6500.000) = 0 | |
[6500.000, 6750.000) = 0 | |
Percentiles, us/op: | |
p(0.0000) = 4997.120 us/op | |
p(50.0000) = 5578.752 us/op | |
p(90.0000) = 5627.904 us/op | |
p(95.0000) = 5644.288 us/op | |
p(99.0000) = 5677.056 us/op | |
p(99.9000) = 5778.620 us/op | |
p(99.9900) = 6088.906 us/op | |
p(99.9990) = 6168.576 us/op | |
p(99.9999) = 6168.576 us/op | |
p(100.0000) = 6168.576 us/op | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetIntIteratorFor:·gc.alloc.rate": | |
0.006 ±(99.9%) 0.001 MB/sec [Average] | |
(min, avg, max) = (0.006, 0.006, 0.006), stdev = 0.001 | |
CI (99.9%): [0.006, 0.006] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetIntIteratorFor:·gc.alloc.rate.norm": | |
33.956 ±(99.9%) 0.732 B/op [Average] | |
(min, avg, max) = (32.987, 33.956, 34.900), stdev = 0.685 | |
CI (99.9%): [33.224, 34.688] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetIntIteratorFor:·gc.count": | |
≈ 0 counts | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetIntIteratorFor:·perf": | |
Perf stats: | |
-------------------------------------------------- | |
14,414.51 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
174 page-faults:u # 12.071 /sec | |
76,229,763,922 cycles:u # 5.288 GHz (35.75%) | |
19,161,612,314 stalled-cycles-frontend:u # 25.14% frontend cycles idle (35.84%) | |
109,359,637,323 instructions:u # 1.43 insn per cycle | |
# 0.18 stalled cycles per insn (35.87%) | |
18,400,213,270 branches:u # 1.277 G/sec (35.89%) | |
2,464,083,537 branch-misses:u # 13.39% of all branches (35.90%) | |
36,445,767,236 L1-dcache-loads:u # 2.528 G/sec (35.78%) | |
338,151,649 L1-dcache-load-misses:u # 0.93% of all L1-dcache accesses (35.77%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
7,854,067 L1-icache-loads:u # 544.872 K/sec (35.75%) | |
36,925 L1-icache-load-misses:u # 0.47% of all L1-icache accesses (35.75%) | |
123,075 dTLB-loads:u # 8.538 K/sec (35.73%) | |
8,825 dTLB-load-misses:u # 7.17% of all dTLB cache accesses (35.70%) | |
1,493 iTLB-loads:u # 103.576 /sec (35.68%) | |
1,166 iTLB-load-misses:u # 78.10% of all iTLB cache accesses (35.67%) | |
336,337,722 L1-dcache-prefetches:u # 23.333 M/sec (35.66%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.398453586 seconds time elapsed | |
41.037696000 seconds user | |
0.152807000 seconds sys | |
14,420.29 msec task-clock:u # 1.002 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
199 page-faults:u # 13.800 /sec | |
78,939,309,403 cycles:u # 5.474 GHz (35.79%) | |
19,149,564,960 stalled-cycles-frontend:u # 24.26% frontend cycles idle (35.84%) | |
113,328,787,873 instructions:u # 1.44 insn per cycle | |
# 0.17 stalled cycles per insn (35.89%) | |
19,079,573,454 branches:u # 1.323 G/sec (35.94%) | |
2,557,904,531 branch-misses:u # 13.41% of all branches (35.96%) | |
37,649,607,380 L1-dcache-loads:u # 2.611 G/sec (35.83%) | |
353,767,912 L1-dcache-load-misses:u # 0.94% of all L1-dcache accesses (35.79%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
14,025,500 L1-icache-loads:u # 972.623 K/sec (35.74%) | |
57,414 L1-icache-load-misses:u # 0.41% of all L1-icache accesses (35.67%) | |
116,801 dTLB-loads:u # 8.100 K/sec (35.65%) | |
1,376 dTLB-load-misses:u # 1.18% of all dTLB cache accesses (35.67%) | |
5,893 iTLB-loads:u # 408.660 /sec (35.72%) | |
414 iTLB-load-misses:u # 7.03% of all iTLB cache accesses (35.71%) | |
347,533,480 L1-dcache-prefetches:u # 24.100 M/sec (35.70%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.395085378 seconds time elapsed | |
40.985597000 seconds user | |
0.221973000 seconds sys | |
14,403.49 msec task-clock:u # 1.002 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
104 page-faults:u # 7.220 /sec | |
76,283,434,609 cycles:u # 5.296 GHz (35.81%) | |
18,796,997,570 stalled-cycles-frontend:u # 24.64% frontend cycles idle (35.86%) | |
109,619,828,519 instructions:u # 1.44 insn per cycle | |
# 0.17 stalled cycles per insn (35.89%) | |
18,448,593,083 branches:u # 1.281 G/sec (35.90%) | |
2,462,031,359 branch-misses:u # 13.35% of all branches (35.89%) | |
36,325,038,081 L1-dcache-loads:u # 2.522 G/sec (35.75%) | |
340,904,822 L1-dcache-load-misses:u # 0.94% of all L1-dcache accesses (35.71%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
7,464,014 L1-icache-loads:u # 518.209 K/sec (35.75%) | |
33,002 L1-icache-load-misses:u # 0.44% of all L1-icache accesses (35.73%) | |
90,711 dTLB-loads:u # 6.298 K/sec (35.71%) | |
968 dTLB-load-misses:u # 1.07% of all dTLB cache accesses (35.73%) | |
1,223 iTLB-loads:u # 84.910 /sec (35.72%) | |
602 iTLB-load-misses:u # 49.22% of all iTLB cache accesses (35.71%) | |
336,368,137 L1-dcache-prefetches:u # 23.353 M/sec (35.72%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.378533834 seconds time elapsed | |
41.015385000 seconds user | |
0.207097000 seconds sys | |
14,415.91 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
338 page-faults:u # 23.446 /sec | |
76,215,063,612 cycles:u # 5.287 GHz (35.83%) | |
19,187,749,773 stalled-cycles-frontend:u # 25.18% frontend cycles idle (35.88%) | |
109,452,870,189 instructions:u # 1.44 insn per cycle | |
# 0.18 stalled cycles per insn (35.89%) | |
18,429,808,607 branches:u # 1.278 G/sec (35.91%) | |
2,470,124,615 branch-misses:u # 13.40% of all branches (35.92%) | |
36,678,111,825 L1-dcache-loads:u # 2.544 G/sec (35.77%) | |
339,750,064 L1-dcache-load-misses:u # 0.93% of all L1-dcache accesses (35.74%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
7,989,121 L1-icache-loads:u # 554.188 K/sec (35.73%) | |
35,643 L1-icache-load-misses:u # 0.45% of all L1-icache accesses (35.71%) | |
107,072 dTLB-loads:u # 7.427 K/sec (35.71%) | |
5,207 dTLB-load-misses:u # 4.86% of all dTLB cache accesses (35.70%) | |
840 iTLB-loads:u # 58.269 /sec (35.67%) | |
350 iTLB-load-misses:u # 41.67% of all iTLB cache accesses (35.66%) | |
335,910,782 L1-dcache-prefetches:u # 23.301 M/sec (35.72%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.394516328 seconds time elapsed | |
41.020599000 seconds user | |
0.142697000 seconds sys | |
14,428.30 msec task-clock:u # 1.002 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
166 page-faults:u # 11.505 /sec | |
78,969,797,586 cycles:u # 5.473 GHz (35.80%) | |
20,049,187,439 stalled-cycles-frontend:u # 25.39% frontend cycles idle (35.85%) | |
113,766,948,249 instructions:u # 1.44 insn per cycle | |
# 0.18 stalled cycles per insn (35.88%) | |
19,149,815,150 branches:u # 1.327 G/sec (35.92%) | |
2,561,620,121 branch-misses:u # 13.38% of all branches (35.93%) | |
38,094,971,760 L1-dcache-loads:u # 2.640 G/sec (35.81%) | |
353,972,907 L1-dcache-load-misses:u # 0.93% of all L1-dcache accesses (35.79%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
13,967,831 L1-icache-loads:u # 968.086 K/sec (35.77%) | |
41,627 L1-icache-load-misses:u # 0.30% of all L1-icache accesses (35.72%) | |
120,657 dTLB-loads:u # 8.363 K/sec (35.71%) | |
11,156 dTLB-load-misses:u # 9.25% of all dTLB cache accesses (35.72%) | |
1,291 iTLB-loads:u # 89.477 /sec (35.69%) | |
748 iTLB-load-misses:u # 57.94% of all iTLB cache accesses (35.66%) | |
349,477,441 L1-dcache-prefetches:u # 24.222 M/sec (35.65%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.403552672 seconds time elapsed | |
40.892293000 seconds user | |
0.260958000 seconds sys | |
# JMH version: 1.36 | |
# VM version: JDK 21.0.4, OpenJDK 64-Bit Server VM, 21.0.4+7-LTS | |
# VM invoker: /home/nick/.jdks/azul-21.0.4/bin/java | |
# VM options: -Dfile.encoding=UTF-8 -Duser.country=GB -Duser.language=en -Duser.variant | |
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) | |
# Warmup: 5 iterations, 5 s each | |
# Measurement: 3 iterations, 5 s each | |
# Timeout: 10 min per iteration | |
# Threads: 1 thread, will synchronize iterations | |
# Benchmark mode: Sampling time | |
# Benchmark: uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetIntIteratorWhile | |
# Run progress: 10.00% complete, ETA 01:00:37 | |
# Fork: 1 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 5361.550 ±(99.9%) 15.470 us/op | |
# Warmup Iteration 2: 5312.960 ±(99.9%) 10.545 us/op | |
# Warmup Iteration 3: 5389.841 ±(99.9%) 7.012 us/op | |
# Warmup Iteration 4: 5383.396 ±(99.9%) 5.468 us/op | |
# Warmup Iteration 5: 5357.568 ±(99.9%) 11.381 us/op | |
Iteration 1: 5381.033 ±(99.9%) 8.858 us/op | |
agronaIntSetIntIteratorWhile·p0.00: 5087.232 us/op | |
agronaIntSetIntIteratorWhile·p0.50: 5398.528 us/op | |
agronaIntSetIntIteratorWhile·p0.90: 5431.296 us/op | |
agronaIntSetIntIteratorWhile·p0.95: 5439.488 us/op | |
agronaIntSetIntIteratorWhile·p0.99: 5455.872 us/op | |
agronaIntSetIntIteratorWhile·p0.999: 5734.400 us/op | |
agronaIntSetIntIteratorWhile·p0.9999: 5734.400 us/op | |
agronaIntSetIntIteratorWhile·p1.00: 5734.400 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 33.154 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 5436.502 ±(99.9%) 10.171 us/op | |
agronaIntSetIntIteratorWhile·p0.00: 5160.960 us/op | |
agronaIntSetIntIteratorWhile·p0.50: 5447.680 us/op | |
agronaIntSetIntIteratorWhile·p0.90: 5496.832 us/op | |
agronaIntSetIntIteratorWhile·p0.95: 5545.984 us/op | |
agronaIntSetIntIteratorWhile·p0.99: 5673.779 us/op | |
agronaIntSetIntIteratorWhile·p0.999: 6111.232 us/op | |
agronaIntSetIntIteratorWhile·p0.9999: 6111.232 us/op | |
agronaIntSetIntIteratorWhile·p1.00: 6111.232 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.472 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 5404.524 ±(99.9%) 8.919 us/op | |
agronaIntSetIntIteratorWhile·p0.00: 5169.152 us/op | |
agronaIntSetIntIteratorWhile·p0.50: 5423.104 us/op | |
agronaIntSetIntIteratorWhile·p0.90: 5464.064 us/op | |
agronaIntSetIntIteratorWhile·p0.95: 5488.640 us/op | |
agronaIntSetIntIteratorWhile·p0.99: 5558.108 us/op | |
agronaIntSetIntIteratorWhile·p0.999: 5734.400 us/op | |
agronaIntSetIntIteratorWhile·p0.9999: 5734.400 us/op | |
agronaIntSetIntIteratorWhile·p1.00: 5734.400 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 33.574 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 11.00% complete, ETA 00:59:56 | |
# Fork: 2 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 5345.950 ±(99.9%) 17.725 us/op | |
# Warmup Iteration 2: 5365.444 ±(99.9%) 17.200 us/op | |
# Warmup Iteration 3: 5587.548 ±(99.9%) 5.752 us/op | |
# Warmup Iteration 4: 5565.625 ±(99.9%) 5.432 us/op | |
# Warmup Iteration 5: 5565.889 ±(99.9%) 7.416 us/op | |
Iteration 1: 5595.182 ±(99.9%) 4.167 us/op | |
agronaIntSetIntIteratorWhile·p0.00: 5300.224 us/op | |
agronaIntSetIntIteratorWhile·p0.50: 5595.136 us/op | |
agronaIntSetIntIteratorWhile·p0.90: 5619.712 us/op | |
agronaIntSetIntIteratorWhile·p0.95: 5627.904 us/op | |
agronaIntSetIntIteratorWhile·p0.99: 5693.440 us/op | |
agronaIntSetIntIteratorWhile·p0.999: 5955.584 us/op | |
agronaIntSetIntIteratorWhile·p0.9999: 5955.584 us/op | |
agronaIntSetIntIteratorWhile·p1.00: 5955.584 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.526 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 5599.906 ±(99.9%) 6.816 us/op | |
agronaIntSetIntIteratorWhile·p0.00: 5316.608 us/op | |
agronaIntSetIntIteratorWhile·p0.50: 5611.520 us/op | |
agronaIntSetIntIteratorWhile·p0.90: 5636.096 us/op | |
agronaIntSetIntIteratorWhile·p0.95: 5644.288 us/op | |
agronaIntSetIntIteratorWhile·p0.99: 5677.548 us/op | |
agronaIntSetIntIteratorWhile·p0.999: 5881.856 us/op | |
agronaIntSetIntIteratorWhile·p0.9999: 5881.856 us/op | |
agronaIntSetIntIteratorWhile·p1.00: 5881.856 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.338 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 5577.134 ±(99.9%) 5.920 us/op | |
agronaIntSetIntIteratorWhile·p0.00: 5300.224 us/op | |
agronaIntSetIntIteratorWhile·p0.50: 5578.752 us/op | |
agronaIntSetIntIteratorWhile·p0.90: 5611.520 us/op | |
agronaIntSetIntIteratorWhile·p0.95: 5627.904 us/op | |
agronaIntSetIntIteratorWhile·p0.99: 5652.480 us/op | |
agronaIntSetIntIteratorWhile·p0.999: 5906.432 us/op | |
agronaIntSetIntIteratorWhile·p0.9999: 5906.432 us/op | |
agronaIntSetIntIteratorWhile·p1.00: 5906.432 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.116 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 12.00% complete, ETA 00:59:16 | |
# Fork: 3 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 5361.532 ±(99.9%) 14.253 us/op | |
# Warmup Iteration 2: 5328.538 ±(99.9%) 12.429 us/op | |
# Warmup Iteration 3: 5356.146 ±(99.9%) 11.878 us/op | |
# Warmup Iteration 4: 5384.572 ±(99.9%) 12.725 us/op | |
# Warmup Iteration 5: 5331.568 ±(99.9%) 13.476 us/op | |
Iteration 1: 5388.156 ±(99.9%) 11.781 us/op | |
agronaIntSetIntIteratorWhile·p0.00: 5029.888 us/op | |
agronaIntSetIntIteratorWhile·p0.50: 5423.104 us/op | |
agronaIntSetIntIteratorWhile·p0.90: 5472.256 us/op | |
agronaIntSetIntIteratorWhile·p0.95: 5480.448 us/op | |
agronaIntSetIntIteratorWhile·p0.99: 5543.608 us/op | |
agronaIntSetIntIteratorWhile·p0.999: 5660.672 us/op | |
agronaIntSetIntIteratorWhile·p0.9999: 5660.672 us/op | |
agronaIntSetIntIteratorWhile·p1.00: 5660.672 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.181 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 5350.735 ±(99.9%) 12.597 us/op | |
agronaIntSetIntIteratorWhile·p0.00: 5070.848 us/op | |
agronaIntSetIntIteratorWhile·p0.50: 5398.528 us/op | |
agronaIntSetIntIteratorWhile·p0.90: 5439.488 us/op | |
agronaIntSetIntIteratorWhile·p0.95: 5455.872 us/op | |
agronaIntSetIntIteratorWhile·p0.99: 5480.448 us/op | |
agronaIntSetIntIteratorWhile·p0.999: 5808.128 us/op | |
agronaIntSetIntIteratorWhile·p0.9999: 5808.128 us/op | |
agronaIntSetIntIteratorWhile·p1.00: 5808.128 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 33.208 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 5395.444 ±(99.9%) 10.274 us/op | |
agronaIntSetIntIteratorWhile·p0.00: 5111.808 us/op | |
agronaIntSetIntIteratorWhile·p0.50: 5431.296 us/op | |
agronaIntSetIntIteratorWhile·p0.90: 5455.872 us/op | |
agronaIntSetIntIteratorWhile·p0.95: 5464.064 us/op | |
agronaIntSetIntIteratorWhile·p0.99: 5488.640 us/op | |
agronaIntSetIntIteratorWhile·p0.999: 5619.712 us/op | |
agronaIntSetIntIteratorWhile·p0.9999: 5619.712 us/op | |
agronaIntSetIntIteratorWhile·p1.00: 5619.712 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 33.269 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 13.00% complete, ETA 00:58:35 | |
# Fork: 4 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 5580.846 ±(99.9%) 14.156 us/op | |
# Warmup Iteration 2: 5542.061 ±(99.9%) 9.248 us/op | |
# Warmup Iteration 3: 5584.052 ±(99.9%) 6.739 us/op | |
# Warmup Iteration 4: 5567.513 ±(99.9%) 4.572 us/op | |
# Warmup Iteration 5: 5415.054 ±(99.9%) 10.513 us/op | |
Iteration 1: 5396.405 ±(99.9%) 9.665 us/op | |
agronaIntSetIntIteratorWhile·p0.00: 5103.616 us/op | |
agronaIntSetIntIteratorWhile·p0.50: 5423.104 us/op | |
agronaIntSetIntIteratorWhile·p0.90: 5455.872 us/op | |
agronaIntSetIntIteratorWhile·p0.95: 5464.064 us/op | |
agronaIntSetIntIteratorWhile·p0.99: 5502.812 us/op | |
agronaIntSetIntIteratorWhile·p0.999: 5644.288 us/op | |
agronaIntSetIntIteratorWhile·p0.9999: 5644.288 us/op | |
agronaIntSetIntIteratorWhile·p1.00: 5644.288 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 33.667 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 5487.129 ±(99.9%) 10.495 us/op | |
agronaIntSetIntIteratorWhile·p0.00: 5160.960 us/op | |
agronaIntSetIntIteratorWhile·p0.50: 5439.488 us/op | |
agronaIntSetIntIteratorWhile·p0.90: 5619.712 us/op | |
agronaIntSetIntIteratorWhile·p0.95: 5636.096 us/op | |
agronaIntSetIntIteratorWhile·p0.99: 5693.440 us/op | |
agronaIntSetIntIteratorWhile·p0.999: 5996.544 us/op | |
agronaIntSetIntIteratorWhile·p0.9999: 5996.544 us/op | |
agronaIntSetIntIteratorWhile·p1.00: 5996.544 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.670 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 5618.690 ±(99.9%) 3.494 us/op | |
agronaIntSetIntIteratorWhile·p0.00: 5308.416 us/op | |
agronaIntSetIntIteratorWhile·p0.50: 5619.712 us/op | |
agronaIntSetIntIteratorWhile·p0.90: 5644.288 us/op | |
agronaIntSetIntIteratorWhile·p0.95: 5652.480 us/op | |
agronaIntSetIntIteratorWhile·p0.99: 5685.985 us/op | |
agronaIntSetIntIteratorWhile·p0.999: 5971.968 us/op | |
agronaIntSetIntIteratorWhile·p0.9999: 5971.968 us/op | |
agronaIntSetIntIteratorWhile·p1.00: 5971.968 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.229 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 14.00% complete, ETA 00:57:55 | |
# Fork: 5 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 5585.974 ±(99.9%) 16.284 us/op | |
# Warmup Iteration 2: 5588.033 ±(99.9%) 7.778 us/op | |
# Warmup Iteration 3: 5489.395 ±(99.9%) 17.845 us/op | |
# Warmup Iteration 4: 5371.735 ±(99.9%) 16.445 us/op | |
# Warmup Iteration 5: 5421.958 ±(99.9%) 9.246 us/op | |
Iteration 1: 5428.521 ±(99.9%) 8.253 us/op | |
agronaIntSetIntIteratorWhile·p0.00: 5079.040 us/op | |
agronaIntSetIntIteratorWhile·p0.50: 5447.680 us/op | |
agronaIntSetIntIteratorWhile·p0.90: 5472.256 us/op | |
agronaIntSetIntIteratorWhile·p0.95: 5480.448 us/op | |
agronaIntSetIntIteratorWhile·p0.99: 5495.030 us/op | |
agronaIntSetIntIteratorWhile·p0.999: 5685.248 us/op | |
agronaIntSetIntIteratorWhile·p0.9999: 5685.248 us/op | |
agronaIntSetIntIteratorWhile·p1.00: 5685.248 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 33.477 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 5426.493 ±(99.9%) 8.807 us/op | |
agronaIntSetIntIteratorWhile·p0.00: 5152.768 us/op | |
agronaIntSetIntIteratorWhile·p0.50: 5447.680 us/op | |
agronaIntSetIntIteratorWhile·p0.90: 5472.256 us/op | |
agronaIntSetIntIteratorWhile·p0.95: 5479.629 us/op | |
agronaIntSetIntIteratorWhile·p0.99: 5511.414 us/op | |
agronaIntSetIntIteratorWhile·p0.999: 5742.592 us/op | |
agronaIntSetIntIteratorWhile·p0.9999: 5742.592 us/op | |
agronaIntSetIntIteratorWhile·p1.00: 5742.592 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 33.338 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 5488.100 ±(99.9%) 16.945 us/op | |
agronaIntSetIntIteratorWhile·p0.00: 5111.808 us/op | |
agronaIntSetIntIteratorWhile·p0.50: 5472.256 us/op | |
agronaIntSetIntIteratorWhile·p0.90: 5668.864 us/op | |
agronaIntSetIntIteratorWhile·p0.95: 5693.440 us/op | |
agronaIntSetIntIteratorWhile·p0.99: 5741.609 us/op | |
agronaIntSetIntIteratorWhile·p0.999: 6012.928 us/op | |
agronaIntSetIntIteratorWhile·p0.9999: 6012.928 us/op | |
agronaIntSetIntIteratorWhile·p1.00: 6012.928 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 35.583 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
Result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetIntIteratorWhile": | |
N = 13724 | |
mean = 5463.539 ±(99.9%) 3.507 us/op | |
Histogram, us/op: | |
[5000.000, 5125.000) = 169 | |
[5125.000, 5250.000) = 882 | |
[5250.000, 5375.000) = 536 | |
[5375.000, 5500.000) = 7822 | |
[5500.000, 5625.000) = 3243 | |
[5625.000, 5750.000) = 1044 | |
[5750.000, 5875.000) = 15 | |
[5875.000, 6000.000) = 11 | |
[6000.000, 6125.000) = 2 | |
[6125.000, 6250.000) = 0 | |
[6250.000, 6375.000) = 0 | |
[6375.000, 6500.000) = 0 | |
[6500.000, 6625.000) = 0 | |
[6625.000, 6750.000) = 0 | |
[6750.000, 6875.000) = 0 | |
Percentiles, us/op: | |
p(0.0000) = 5029.888 us/op | |
p(50.0000) = 5447.680 us/op | |
p(90.0000) = 5619.712 us/op | |
p(95.0000) = 5636.096 us/op | |
p(99.0000) = 5677.056 us/op | |
p(99.9000) = 5852.160 us/op | |
p(99.9900) = 6074.614 us/op | |
p(99.9990) = 6111.232 us/op | |
p(99.9999) = 6111.232 us/op | |
p(100.0000) = 6111.232 us/op | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetIntIteratorWhile:·gc.alloc.rate": | |
0.006 ±(99.9%) 0.001 MB/sec [Average] | |
(min, avg, max) = (0.006, 0.006, 0.006), stdev = 0.001 | |
CI (99.9%): [0.006, 0.006] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetIntIteratorWhile:·gc.alloc.rate.norm": | |
33.987 ±(99.9%) 0.731 B/op [Average] | |
(min, avg, max) = (33.154, 33.987, 35.583), stdev = 0.684 | |
CI (99.9%): [33.256, 34.718] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetIntIteratorWhile:·gc.count": | |
≈ 0 counts | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetIntIteratorWhile:·perf": | |
Perf stats: | |
-------------------------------------------------- | |
14,409.98 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
125 page-faults:u # 8.675 /sec | |
78,688,254,429 cycles:u # 5.461 GHz (35.82%) | |
19,511,710,220 stalled-cycles-frontend:u # 24.80% frontend cycles idle (35.84%) | |
113,253,126,272 instructions:u # 1.44 insn per cycle | |
# 0.17 stalled cycles per insn (35.88%) | |
19,059,161,220 branches:u # 1.323 G/sec (35.91%) | |
2,540,964,347 branch-misses:u # 13.33% of all branches (35.91%) | |
37,591,794,312 L1-dcache-loads:u # 2.609 G/sec (35.77%) | |
351,460,520 L1-dcache-load-misses:u # 0.93% of all L1-dcache accesses (35.72%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
10,884,840 L1-icache-loads:u # 755.368 K/sec (35.66%) | |
31,397 L1-icache-load-misses:u # 0.29% of all L1-icache accesses (35.69%) | |
110,333 dTLB-loads:u # 7.657 K/sec (35.72%) | |
9,090 dTLB-load-misses:u # 8.24% of all dTLB cache accesses (35.76%) | |
10,693 iTLB-loads:u # 742.055 /sec (35.75%) | |
4,462 iTLB-load-misses:u # 41.73% of all iTLB cache accesses (35.74%) | |
347,255,695 L1-dcache-prefetches:u # 24.098 M/sec (35.74%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.391754728 seconds time elapsed | |
41.066384000 seconds user | |
0.188981000 seconds sys | |
14,416.80 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
107 page-faults:u # 7.422 /sec | |
76,187,259,295 cycles:u # 5.285 GHz (35.85%) | |
19,120,911,810 stalled-cycles-frontend:u # 25.10% frontend cycles idle (35.86%) | |
109,577,066,679 instructions:u # 1.44 insn per cycle | |
# 0.17 stalled cycles per insn (35.88%) | |
18,437,376,255 branches:u # 1.279 G/sec (35.89%) | |
2,470,326,147 branch-misses:u # 13.40% of all branches (35.91%) | |
36,508,596,749 L1-dcache-loads:u # 2.532 G/sec (35.73%) | |
338,060,487 L1-dcache-load-misses:u # 0.93% of all L1-dcache accesses (35.73%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
6,127,633 L1-icache-loads:u # 425.034 K/sec (35.75%) | |
42,915 L1-icache-load-misses:u # 0.70% of all L1-icache accesses (35.73%) | |
122,104 dTLB-loads:u # 8.470 K/sec (35.71%) | |
7,905 dTLB-load-misses:u # 6.47% of all dTLB cache accesses (35.72%) | |
1,246 iTLB-loads:u # 86.427 /sec (35.70%) | |
1,286 iTLB-load-misses:u # 103.21% of all iTLB cache accesses (35.68%) | |
336,843,724 L1-dcache-prefetches:u # 23.365 M/sec (35.67%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.399946901 seconds time elapsed | |
41.051293000 seconds user | |
0.251736000 seconds sys | |
14,418.51 msec task-clock:u # 1.002 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
151 page-faults:u # 10.473 /sec | |
78,954,663,338 cycles:u # 5.476 GHz (35.78%) | |
19,435,266,285 stalled-cycles-frontend:u # 24.62% frontend cycles idle (35.84%) | |
113,856,216,902 instructions:u # 1.44 insn per cycle | |
# 0.17 stalled cycles per insn (35.86%) | |
19,164,296,728 branches:u # 1.329 G/sec (35.90%) | |
2,547,778,168 branch-misses:u # 13.29% of all branches (35.91%) | |
37,728,029,152 L1-dcache-loads:u # 2.617 G/sec (35.80%) | |
354,671,619 L1-dcache-load-misses:u # 0.94% of all L1-dcache accesses (35.76%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
9,373,570 L1-icache-loads:u # 650.107 K/sec (35.75%) | |
42,211 L1-icache-load-misses:u # 0.45% of all L1-icache accesses (35.70%) | |
110,976 dTLB-loads:u # 7.697 K/sec (35.69%) | |
3,203 dTLB-load-misses:u # 2.89% of all dTLB cache accesses (35.71%) | |
762 iTLB-loads:u # 52.849 /sec (35.69%) | |
1,085 iTLB-load-misses:u # 142.39% of all iTLB cache accesses (35.73%) | |
349,353,449 L1-dcache-prefetches:u # 24.230 M/sec (35.73%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.395357366 seconds time elapsed | |
40.982111000 seconds user | |
0.205107000 seconds sys | |
14,408.09 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
142 page-faults:u # 9.856 /sec | |
77,635,338,923 cycles:u # 5.388 GHz (35.81%) | |
19,159,071,187 stalled-cycles-frontend:u # 24.68% frontend cycles idle (35.85%) | |
111,258,119,425 instructions:u # 1.43 insn per cycle | |
# 0.17 stalled cycles per insn (35.84%) | |
18,718,991,331 branches:u # 1.299 G/sec (35.85%) | |
2,510,187,001 branch-misses:u # 13.41% of all branches (35.89%) | |
36,905,430,647 L1-dcache-loads:u # 2.561 G/sec (35.75%) | |
343,150,494 L1-dcache-load-misses:u # 0.93% of all L1-dcache accesses (35.72%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
6,500,390 L1-icache-loads:u # 451.162 K/sec (35.73%) | |
30,483 L1-icache-load-misses:u # 0.47% of all L1-icache accesses (35.71%) | |
100,096 dTLB-loads:u # 6.947 K/sec (35.73%) | |
1,990 dTLB-load-misses:u # 1.99% of all dTLB cache accesses (35.72%) | |
2,384 iTLB-loads:u # 165.463 /sec (35.74%) | |
540 iTLB-load-misses:u # 22.65% of all iTLB cache accesses (35.73%) | |
341,470,100 L1-dcache-prefetches:u # 23.700 M/sec (35.72%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.392676437 seconds time elapsed | |
41.094749000 seconds user | |
0.120661000 seconds sys | |
14,428.62 msec task-clock:u # 1.002 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
120 page-faults:u # 8.317 /sec | |
78,249,655,660 cycles:u # 5.423 GHz (35.86%) | |
19,676,732,571 stalled-cycles-frontend:u # 25.15% frontend cycles idle (35.90%) | |
112,477,716,686 instructions:u # 1.44 insn per cycle | |
# 0.17 stalled cycles per insn (35.93%) | |
18,936,016,869 branches:u # 1.312 G/sec (35.93%) | |
2,530,700,724 branch-misses:u # 13.36% of all branches (35.90%) | |
37,469,202,230 L1-dcache-loads:u # 2.597 G/sec (35.72%) | |
349,672,057 L1-dcache-load-misses:u # 0.93% of all L1-dcache accesses (35.69%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
10,594,009 L1-icache-loads:u # 734.236 K/sec (35.69%) | |
43,308 L1-icache-load-misses:u # 0.41% of all L1-icache accesses (35.64%) | |
103,137 dTLB-loads:u # 7.148 K/sec (35.68%) | |
3,024 dTLB-load-misses:u # 2.93% of all dTLB cache accesses (35.74%) | |
3,798 iTLB-loads:u # 263.227 /sec (35.73%) | |
1,099 iTLB-load-misses:u # 28.94% of all iTLB cache accesses (35.74%) | |
345,056,735 L1-dcache-prefetches:u # 23.915 M/sec (35.76%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.404704128 seconds time elapsed | |
40.980995000 seconds user | |
0.219484000 seconds sys | |
# JMH version: 1.36 | |
# VM version: JDK 21.0.4, OpenJDK 64-Bit Server VM, 21.0.4+7-LTS | |
# VM invoker: /home/nick/.jdks/azul-21.0.4/bin/java | |
# VM options: -Dfile.encoding=UTF-8 -Duser.country=GB -Duser.language=en -Duser.variant | |
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) | |
# Warmup: 5 iterations, 5 s each | |
# Measurement: 3 iterations, 5 s each | |
# Timeout: 10 min per iteration | |
# Threads: 1 thread, will synchronize iterations | |
# Benchmark mode: Sampling time | |
# Benchmark: uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetIteratorFor | |
# Run progress: 15.00% complete, ETA 00:57:15 | |
# Fork: 1 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 8055.058 ±(99.9%) 169.278 us/op | |
# Warmup Iteration 2: 7778.463 ±(99.9%) 14.706 us/op | |
# Warmup Iteration 3: 7826.629 ±(99.9%) 16.732 us/op | |
# Warmup Iteration 4: 7799.461 ±(99.9%) 13.785 us/op | |
# Warmup Iteration 5: 7813.542 ±(99.9%) 11.675 us/op | |
Iteration 1: 7844.148 ±(99.9%) 12.559 us/op | |
agronaIntSetIteratorFor·p0.00: 7692.288 us/op | |
agronaIntSetIteratorFor·p0.50: 7839.744 us/op | |
agronaIntSetIteratorFor·p0.90: 7888.896 us/op | |
agronaIntSetIteratorFor·p0.95: 7913.472 us/op | |
agronaIntSetIteratorFor·p0.99: 8341.586 us/op | |
agronaIntSetIteratorFor·p0.999: 8896.512 us/op | |
agronaIntSetIteratorFor·p0.9999: 8896.512 us/op | |
agronaIntSetIteratorFor·p1.00: 8896.512 us/op | |
·gc.alloc.rate: 1943.801 MB/sec | |
·gc.alloc.rate.norm: 15998045.768 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 4.000 ms | |
Iteration 2: 7834.634 ±(99.9%) 12.647 us/op | |
agronaIntSetIteratorFor·p0.00: 7684.096 us/op | |
agronaIntSetIteratorFor·p0.50: 7839.744 us/op | |
agronaIntSetIteratorFor·p0.90: 7897.088 us/op | |
agronaIntSetIteratorFor·p0.95: 7913.472 us/op | |
agronaIntSetIteratorFor·p0.99: 8033.157 us/op | |
agronaIntSetIteratorFor·p0.999: 8781.824 us/op | |
agronaIntSetIteratorFor·p0.9999: 8781.824 us/op | |
agronaIntSetIteratorFor·p1.00: 8781.824 us/op | |
·gc.alloc.rate: 1946.187 MB/sec | |
·gc.alloc.rate.norm: 15998045.831 B/op | |
·gc.count: 5.000 counts | |
·gc.time: 5.000 ms | |
Iteration 3: 7827.270 ±(99.9%) 12.708 us/op | |
agronaIntSetIteratorFor·p0.00: 7684.096 us/op | |
agronaIntSetIteratorFor·p0.50: 7831.552 us/op | |
agronaIntSetIteratorFor·p0.90: 7880.704 us/op | |
agronaIntSetIteratorFor·p0.95: 7897.088 us/op | |
agronaIntSetIteratorFor·p0.99: 8395.162 us/op | |
agronaIntSetIteratorFor·p0.999: 8716.288 us/op | |
agronaIntSetIteratorFor·p0.9999: 8716.288 us/op | |
agronaIntSetIteratorFor·p1.00: 8716.288 us/op | |
·gc.alloc.rate: 1947.969 MB/sec | |
·gc.alloc.rate.norm: 15998045.746 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 4.000 ms | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 16.00% complete, ETA 00:56:34 | |
# Fork: 2 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 7984.138 ±(99.9%) 85.410 us/op | |
# Warmup Iteration 2: 7739.043 ±(99.9%) 11.946 us/op | |
# Warmup Iteration 3: 7750.470 ±(99.9%) 13.183 us/op | |
# Warmup Iteration 4: 7785.718 ±(99.9%) 12.146 us/op | |
# Warmup Iteration 5: 7781.100 ±(99.9%) 10.398 us/op | |
Iteration 1: 7825.347 ±(99.9%) 11.482 us/op | |
agronaIntSetIteratorFor·p0.00: 7667.712 us/op | |
agronaIntSetIteratorFor·p0.50: 7823.360 us/op | |
agronaIntSetIteratorFor·p0.90: 7856.128 us/op | |
agronaIntSetIteratorFor·p0.95: 7872.512 us/op | |
agronaIntSetIteratorFor·p0.99: 8414.822 us/op | |
agronaIntSetIteratorFor·p0.999: 8716.288 us/op | |
agronaIntSetIteratorFor·p0.9999: 8716.288 us/op | |
agronaIntSetIteratorFor·p1.00: 8716.288 us/op | |
·gc.alloc.rate: 1948.544 MB/sec | |
·gc.alloc.rate.norm: 15998045.371 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 5.000 ms | |
Iteration 2: 7797.787 ±(99.9%) 12.298 us/op | |
agronaIntSetIteratorFor·p0.00: 7692.288 us/op | |
agronaIntSetIteratorFor·p0.50: 7790.592 us/op | |
agronaIntSetIteratorFor·p0.90: 7831.552 us/op | |
agronaIntSetIteratorFor·p0.95: 7847.936 us/op | |
agronaIntSetIteratorFor·p0.99: 7934.607 us/op | |
agronaIntSetIteratorFor·p0.999: 8929.280 us/op | |
agronaIntSetIteratorFor·p0.9999: 8929.280 us/op | |
agronaIntSetIteratorFor·p1.00: 8929.280 us/op | |
·gc.alloc.rate: 1955.430 MB/sec | |
·gc.alloc.rate.norm: 15998044.768 B/op | |
·gc.count: 5.000 counts | |
·gc.time: 4.000 ms | |
Iteration 3: 7808.563 ±(99.9%) 14.002 us/op | |
agronaIntSetIteratorFor·p0.00: 7675.904 us/op | |
agronaIntSetIteratorFor·p0.50: 7798.784 us/op | |
agronaIntSetIteratorFor·p0.90: 7856.128 us/op | |
agronaIntSetIteratorFor·p0.95: 7872.512 us/op | |
agronaIntSetIteratorFor·p0.99: 8418.591 us/op | |
agronaIntSetIteratorFor·p0.999: 8962.048 us/op | |
agronaIntSetIteratorFor·p0.9999: 8962.048 us/op | |
agronaIntSetIteratorFor·p1.00: 8962.048 us/op | |
·gc.alloc.rate: 1952.681 MB/sec | |
·gc.alloc.rate.norm: 15998045.350 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 6.000 ms | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 17.00% complete, ETA 00:55:54 | |
# Fork: 3 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 7685.870 ±(99.9%) 80.578 us/op | |
# Warmup Iteration 2: 7495.041 ±(99.9%) 12.478 us/op | |
# Warmup Iteration 3: 7559.731 ±(99.9%) 13.216 us/op | |
# Warmup Iteration 4: 7764.668 ±(99.9%) 13.390 us/op | |
# Warmup Iteration 5: 7788.589 ±(99.9%) 10.573 us/op | |
Iteration 1: 7805.263 ±(99.9%) 11.427 us/op | |
agronaIntSetIteratorFor·p0.00: 7675.904 us/op | |
agronaIntSetIteratorFor·p0.50: 7798.784 us/op | |
agronaIntSetIteratorFor·p0.90: 7839.744 us/op | |
agronaIntSetIteratorFor·p0.95: 7864.320 us/op | |
agronaIntSetIteratorFor·p0.99: 8306.196 us/op | |
agronaIntSetIteratorFor·p0.999: 8716.288 us/op | |
agronaIntSetIteratorFor·p0.9999: 8716.288 us/op | |
agronaIntSetIteratorFor·p1.00: 8716.288 us/op | |
·gc.alloc.rate: 1953.524 MB/sec | |
·gc.alloc.rate.norm: 15998045.142 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 4.000 ms | |
Iteration 2: 7808.563 ±(99.9%) 12.611 us/op | |
agronaIntSetIteratorFor·p0.00: 7675.904 us/op | |
agronaIntSetIteratorFor·p0.50: 7806.976 us/op | |
agronaIntSetIteratorFor·p0.90: 7864.320 us/op | |
agronaIntSetIteratorFor·p0.95: 7880.704 us/op | |
agronaIntSetIteratorFor·p0.99: 8433.582 us/op | |
agronaIntSetIteratorFor·p0.999: 8699.904 us/op | |
agronaIntSetIteratorFor·p0.9999: 8699.904 us/op | |
agronaIntSetIteratorFor·p1.00: 8699.904 us/op | |
·gc.alloc.rate: 1952.727 MB/sec | |
·gc.alloc.rate.norm: 15998045.413 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 5.000 ms | |
Iteration 3: 7802.989 ±(99.9%) 12.001 us/op | |
agronaIntSetIteratorFor·p0.00: 7684.096 us/op | |
agronaIntSetIteratorFor·p0.50: 7798.784 us/op | |
agronaIntSetIteratorFor·p0.90: 7864.320 us/op | |
agronaIntSetIteratorFor·p0.95: 7888.896 us/op | |
agronaIntSetIteratorFor·p0.99: 8278.671 us/op | |
agronaIntSetIteratorFor·p0.999: 8732.672 us/op | |
agronaIntSetIteratorFor·p0.9999: 8732.672 us/op | |
agronaIntSetIteratorFor·p1.00: 8732.672 us/op | |
·gc.alloc.rate: 1954.045 MB/sec | |
·gc.alloc.rate.norm: 15998045.142 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 4.000 ms | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 18.00% complete, ETA 00:55:14 | |
# Fork: 4 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 7974.905 ±(99.9%) 77.493 us/op | |
# Warmup Iteration 2: 7748.438 ±(99.9%) 17.177 us/op | |
# Warmup Iteration 3: 7509.592 ±(99.9%) 10.936 us/op | |
# Warmup Iteration 4: 7509.690 ±(99.9%) 11.875 us/op | |
# Warmup Iteration 5: 7498.222 ±(99.9%) 12.244 us/op | |
Iteration 1: 7515.735 ±(99.9%) 11.270 us/op | |
agronaIntSetIteratorFor·p0.00: 7421.952 us/op | |
agronaIntSetIteratorFor·p0.50: 7503.872 us/op | |
agronaIntSetIteratorFor·p0.90: 7520.256 us/op | |
agronaIntSetIteratorFor·p0.95: 7528.448 us/op | |
agronaIntSetIteratorFor·p0.99: 8214.282 us/op | |
agronaIntSetIteratorFor·p0.999: 8470.528 us/op | |
agronaIntSetIteratorFor·p0.9999: 8470.528 us/op | |
agronaIntSetIteratorFor·p1.00: 8470.528 us/op | |
·gc.alloc.rate: 2028.775 MB/sec | |
·gc.alloc.rate.norm: 15998041.083 B/op | |
·gc.count: 7.000 counts | |
·gc.time: 5.000 ms | |
Iteration 2: 7496.503 ±(99.9%) 13.337 us/op | |
agronaIntSetIteratorFor·p0.00: 7397.376 us/op | |
agronaIntSetIteratorFor·p0.50: 7503.872 us/op | |
agronaIntSetIteratorFor·p0.90: 7538.278 us/op | |
agronaIntSetIteratorFor·p0.95: 7561.216 us/op | |
agronaIntSetIteratorFor·p0.99: 8132.690 us/op | |
agronaIntSetIteratorFor·p0.999: 8568.832 us/op | |
agronaIntSetIteratorFor·p0.9999: 8568.832 us/op | |
agronaIntSetIteratorFor·p1.00: 8568.832 us/op | |
·gc.alloc.rate: 2033.944 MB/sec | |
·gc.alloc.rate.norm: 15998041.511 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 5.000 ms | |
Iteration 3: 7527.190 ±(99.9%) 11.250 us/op | |
agronaIntSetIteratorFor·p0.00: 7487.488 us/op | |
agronaIntSetIteratorFor·p0.50: 7512.064 us/op | |
agronaIntSetIteratorFor·p0.90: 7536.640 us/op | |
agronaIntSetIteratorFor·p0.95: 7553.024 us/op | |
agronaIntSetIteratorFor·p0.99: 8170.701 us/op | |
agronaIntSetIteratorFor·p0.999: 8617.984 us/op | |
agronaIntSetIteratorFor·p0.9999: 8617.984 us/op | |
agronaIntSetIteratorFor·p1.00: 8617.984 us/op | |
·gc.alloc.rate: 2025.657 MB/sec | |
·gc.alloc.rate.norm: 15998041.133 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 4.000 ms | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 19.00% complete, ETA 00:54:33 | |
# Fork: 5 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 7913.822 ±(99.9%) 82.666 us/op | |
# Warmup Iteration 2: 7730.551 ±(99.9%) 11.165 us/op | |
# Warmup Iteration 3: 7717.547 ±(99.9%) 12.834 us/op | |
# Warmup Iteration 4: 7730.716 ±(99.9%) 13.052 us/op | |
# Warmup Iteration 5: 7759.323 ±(99.9%) 13.597 us/op | |
Iteration 1: 7744.724 ±(99.9%) 15.742 us/op | |
agronaIntSetIteratorFor·p0.00: 7380.992 us/op | |
agronaIntSetIteratorFor·p0.50: 7749.632 us/op | |
agronaIntSetIteratorFor·p0.90: 7839.744 us/op | |
agronaIntSetIteratorFor·p0.95: 7880.704 us/op | |
agronaIntSetIteratorFor·p0.99: 8179.958 us/op | |
agronaIntSetIteratorFor·p0.999: 8781.824 us/op | |
agronaIntSetIteratorFor·p0.9999: 8781.824 us/op | |
agronaIntSetIteratorFor·p1.00: 8781.824 us/op | |
·gc.alloc.rate: 1968.770 MB/sec | |
·gc.alloc.rate.norm: 15998045.969 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 5.000 ms | |
Iteration 2: 7800.880 ±(99.9%) 13.219 us/op | |
agronaIntSetIteratorFor·p0.00: 7618.560 us/op | |
agronaIntSetIteratorFor·p0.50: 7790.592 us/op | |
agronaIntSetIteratorFor·p0.90: 7888.896 us/op | |
agronaIntSetIteratorFor·p0.95: 7913.472 us/op | |
agronaIntSetIteratorFor·p0.99: 8236.237 us/op | |
agronaIntSetIteratorFor·p0.999: 8781.824 us/op | |
agronaIntSetIteratorFor·p0.9999: 8781.824 us/op | |
agronaIntSetIteratorFor·p1.00: 8781.824 us/op | |
·gc.alloc.rate: 1954.571 MB/sec | |
·gc.alloc.rate.norm: 15998045.828 B/op | |
·gc.count: 5.000 counts | |
·gc.time: 4.000 ms | |
Iteration 3: 7704.961 ±(99.9%) 15.521 us/op | |
agronaIntSetIteratorFor·p0.00: 7405.568 us/op | |
agronaIntSetIteratorFor·p0.50: 7716.864 us/op | |
agronaIntSetIteratorFor·p0.90: 7774.208 us/op | |
agronaIntSetIteratorFor·p0.95: 7819.264 us/op | |
agronaIntSetIteratorFor·p0.99: 8413.184 us/op | |
agronaIntSetIteratorFor·p0.999: 8830.976 us/op | |
agronaIntSetIteratorFor·p0.9999: 8830.976 us/op | |
agronaIntSetIteratorFor·p1.00: 8830.976 us/op | |
·gc.alloc.rate: 1978.950 MB/sec | |
·gc.alloc.rate.norm: 15998045.165 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 5.000 ms | |
# Processing profiler results: LinuxPerfProfiler | |
Result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetIteratorFor": | |
N = 9689 | |
mean = 7741.096 ±(99.9%) 5.226 us/op | |
Histogram, us/op: | |
[7000.000, 7125.000) = 0 | |
[7125.000, 7250.000) = 0 | |
[7250.000, 7375.000) = 0 | |
[7375.000, 7500.000) = 600 | |
[7500.000, 7625.000) = 1462 | |
[7625.000, 7750.000) = 1880 | |
[7750.000, 7875.000) = 5147 | |
[7875.000, 8000.000) = 486 | |
[8000.000, 8125.000) = 18 | |
[8125.000, 8250.000) = 8 | |
[8250.000, 8375.000) = 13 | |
[8375.000, 8500.000) = 12 | |
[8500.000, 8625.000) = 28 | |
[8625.000, 8750.000) = 23 | |
[8750.000, 8875.000) = 8 | |
Percentiles, us/op: | |
p(0.0000) = 7380.992 us/op | |
p(50.0000) = 7782.400 us/op | |
p(90.0000) = 7864.320 us/op | |
p(95.0000) = 7880.704 us/op | |
p(99.0000) = 8107.622 us/op | |
p(99.9000) = 8786.903 us/op | |
p(99.9900) = 8962.048 us/op | |
p(99.9990) = 8962.048 us/op | |
p(99.9999) = 8962.048 us/op | |
p(100.0000) = 8962.048 us/op | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetIteratorFor:·gc.alloc.rate": | |
1969.705 ±(99.9%) 34.399 MB/sec [Average] | |
(min, avg, max) = (1943.801, 1969.705, 2033.944), stdev = 32.177 | |
CI (99.9%): [1935.306, 2004.104] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetIteratorFor:·gc.alloc.rate.norm": | |
15998044.615 ±(99.9%) 1.901 B/op [Average] | |
(min, avg, max) = (15998041.083, 15998044.615, 15998045.969), stdev = 1.778 | |
CI (99.9%): [15998042.714, 15998046.515] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetIteratorFor:·gc.count": | |
88.000 ±(99.9%) 0.001 counts [Sum] | |
(min, avg, max) = (5.000, 5.867, 7.000), stdev = 0.516 | |
CI (99.9%): [88.000, 88.000] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetIteratorFor:·gc.time": | |
69.000 ±(99.9%) 0.001 ms [Sum] | |
(min, avg, max) = (4.000, 4.600, 6.000), stdev = 0.632 | |
CI (99.9%): [69.000, 69.000] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetIteratorFor:·perf": | |
Perf stats: | |
-------------------------------------------------- | |
14,518.99 msec task-clock:u # 1.007 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
65 page-faults:u # 4.477 /sec | |
75,379,225,256 cycles:u # 5.192 GHz (36.13%) | |
12,280,123,466 stalled-cycles-frontend:u # 16.29% frontend cycles idle (36.29%) | |
132,093,735,349 instructions:u # 1.75 insn per cycle | |
# 0.09 stalled cycles per insn (36.30%) | |
22,132,862,987 branches:u # 1.524 G/sec (36.31%) | |
1,666,770,532 branch-misses:u # 7.53% of all branches (36.25%) | |
81,997,892,396 L1-dcache-loads:u # 5.648 G/sec (35.68%) | |
716,272,069 L1-dcache-load-misses:u # 0.87% of all L1-dcache accesses (35.46%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
32,149,987 L1-icache-loads:u # 2.214 M/sec (35.65%) | |
116,481 L1-icache-load-misses:u # 0.36% of all L1-icache accesses (35.70%) | |
617,809 dTLB-loads:u # 42.552 K/sec (35.73%) | |
75,427 dTLB-load-misses:u # 12.21% of all dTLB cache accesses (35.74%) | |
2,000 iTLB-loads:u # 137.751 /sec (35.74%) | |
876 iTLB-load-misses:u # 43.80% of all iTLB cache accesses (35.72%) | |
687,924,883 L1-dcache-prefetches:u # 47.381 M/sec (35.76%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.421618529 seconds time elapsed | |
41.323881000 seconds user | |
0.493041000 seconds sys | |
14,499.63 msec task-clock:u # 1.007 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
65 page-faults:u # 4.483 /sec | |
75,416,359,194 cycles:u # 5.201 GHz (35.90%) | |
12,172,402,895 stalled-cycles-frontend:u # 16.14% frontend cycles idle (36.22%) | |
132,180,505,328 instructions:u # 1.75 insn per cycle | |
# 0.09 stalled cycles per insn (36.25%) | |
22,112,273,153 branches:u # 1.525 G/sec (36.32%) | |
1,659,556,325 branch-misses:u # 7.51% of all branches (36.34%) | |
80,815,706,365 L1-dcache-loads:u # 5.574 G/sec (35.98%) | |
713,621,766 L1-dcache-load-misses:u # 0.88% of all L1-dcache accesses (35.58%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
24,562,068 L1-icache-loads:u # 1.694 M/sec (35.71%) | |
98,798 L1-icache-load-misses:u # 0.40% of all L1-icache accesses (35.73%) | |
596,336 dTLB-loads:u # 41.128 K/sec (35.73%) | |
58,709 dTLB-load-misses:u # 9.84% of all dTLB cache accesses (35.78%) | |
2,132 iTLB-loads:u # 147.038 /sec (35.78%) | |
1,074 iTLB-load-misses:u # 50.38% of all iTLB cache accesses (35.74%) | |
689,546,283 L1-dcache-prefetches:u # 47.556 M/sec (35.71%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.401361246 seconds time elapsed | |
41.460396000 seconds user | |
0.259220000 seconds sys | |
14,506.77 msec task-clock:u # 1.007 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
85 page-faults:u # 5.859 /sec | |
75,359,897,192 cycles:u # 5.195 GHz (36.20%) | |
12,138,523,689 stalled-cycles-frontend:u # 16.11% frontend cycles idle (36.27%) | |
132,374,054,257 instructions:u # 1.76 insn per cycle | |
# 0.09 stalled cycles per insn (36.26%) | |
22,181,462,398 branches:u # 1.529 G/sec (36.27%) | |
1,662,448,166 branch-misses:u # 7.49% of all branches (36.27%) | |
82,545,016,608 L1-dcache-loads:u # 5.690 G/sec (35.55%) | |
714,130,581 L1-dcache-load-misses:u # 0.87% of all L1-dcache accesses (35.63%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
29,690,756 L1-icache-loads:u # 2.047 M/sec (35.70%) | |
115,819 L1-icache-load-misses:u # 0.39% of all L1-icache accesses (35.71%) | |
602,018 dTLB-loads:u # 41.499 K/sec (35.77%) | |
66,281 dTLB-load-misses:u # 11.01% of all dTLB cache accesses (35.75%) | |
916 iTLB-loads:u # 63.143 /sec (35.78%) | |
570 iTLB-load-misses:u # 62.23% of all iTLB cache accesses (35.75%) | |
690,352,137 L1-dcache-prefetches:u # 47.588 M/sec (35.73%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.409014022 seconds time elapsed | |
41.312337000 seconds user | |
0.358853000 seconds sys | |
14,512.90 msec task-clock:u # 1.007 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
85 page-faults:u # 5.857 /sec | |
78,393,748,319 cycles:u # 5.402 GHz (36.07%) | |
12,683,335,118 stalled-cycles-frontend:u # 16.18% frontend cycles idle (36.25%) | |
137,504,871,136 instructions:u # 1.75 insn per cycle | |
# 0.09 stalled cycles per insn (36.34%) | |
23,039,986,427 branches:u # 1.588 G/sec (36.36%) | |
1,732,912,918 branch-misses:u # 7.52% of all branches (36.33%) | |
85,198,787,290 L1-dcache-loads:u # 5.871 G/sec (35.79%) | |
744,487,453 L1-dcache-load-misses:u # 0.87% of all L1-dcache accesses (35.59%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
31,310,027 L1-icache-loads:u # 2.157 M/sec (35.60%) | |
122,652 L1-icache-load-misses:u # 0.39% of all L1-icache accesses (35.66%) | |
619,953 dTLB-loads:u # 42.717 K/sec (35.75%) | |
62,859 dTLB-load-misses:u # 10.14% of all dTLB cache accesses (35.78%) | |
4,091 iTLB-loads:u # 281.887 /sec (35.76%) | |
988 iTLB-load-misses:u # 24.15% of all iTLB cache accesses (35.71%) | |
716,638,024 L1-dcache-prefetches:u # 49.379 M/sec (35.72%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.406363532 seconds time elapsed | |
41.224225000 seconds user | |
0.521760000 seconds sys | |
14,515.91 msec task-clock:u # 1.007 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
90 page-faults:u # 6.200 /sec | |
78,184,418,672 cycles:u # 5.386 GHz (36.07%) | |
13,847,944,917 stalled-cycles-frontend:u # 17.71% frontend cycles idle (36.29%) | |
133,318,616,565 instructions:u # 1.71 insn per cycle | |
# 0.10 stalled cycles per insn (36.38%) | |
22,338,828,375 branches:u # 1.539 G/sec (36.40%) | |
1,679,788,486 branch-misses:u # 7.52% of all branches (36.39%) | |
81,177,176,589 L1-dcache-loads:u # 5.592 G/sec (35.81%) | |
720,104,048 L1-dcache-load-misses:u # 0.89% of all L1-dcache accesses (35.66%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
29,790,591 L1-icache-loads:u # 2.052 M/sec (35.65%) | |
147,587 L1-icache-load-misses:u # 0.50% of all L1-icache accesses (35.73%) | |
758,574 dTLB-loads:u # 52.258 K/sec (35.73%) | |
129,962 dTLB-load-misses:u # 17.13% of all dTLB cache accesses (35.71%) | |
11,418 iTLB-loads:u # 786.585 /sec (35.71%) | |
15,849 iTLB-load-misses:u # 138.81% of all iTLB cache accesses (35.70%) | |
695,087,419 L1-dcache-prefetches:u # 47.885 M/sec (35.70%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.412232412 seconds time elapsed | |
41.355725000 seconds user | |
0.330370000 seconds sys | |
# JMH version: 1.36 | |
# VM version: JDK 21.0.4, OpenJDK 64-Bit Server VM, 21.0.4+7-LTS | |
# VM invoker: /home/nick/.jdks/azul-21.0.4/bin/java | |
# VM options: -Dfile.encoding=UTF-8 -Duser.country=GB -Duser.language=en -Duser.variant | |
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) | |
# Warmup: 5 iterations, 5 s each | |
# Measurement: 3 iterations, 5 s each | |
# Timeout: 10 min per iteration | |
# Threads: 1 thread, will synchronize iterations | |
# Benchmark mode: Sampling time | |
# Benchmark: uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetIteratorWhile | |
# Run progress: 20.00% complete, ETA 00:53:53 | |
# Fork: 1 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 7688.709 ±(99.9%) 79.868 us/op | |
# Warmup Iteration 2: 7497.928 ±(99.9%) 16.211 us/op | |
# Warmup Iteration 3: 7471.398 ±(99.9%) 12.411 us/op | |
# Warmup Iteration 4: 7490.652 ±(99.9%) 12.627 us/op | |
# Warmup Iteration 5: 7743.786 ±(99.9%) 17.350 us/op | |
Iteration 1: 7793.042 ±(99.9%) 12.652 us/op | |
agronaIntSetIteratorWhile·p0.00: 7659.520 us/op | |
agronaIntSetIteratorWhile·p0.50: 7774.208 us/op | |
agronaIntSetIteratorWhile·p0.90: 7856.128 us/op | |
agronaIntSetIteratorWhile·p0.95: 7897.088 us/op | |
agronaIntSetIteratorWhile·p0.99: 8367.145 us/op | |
agronaIntSetIteratorWhile·p0.999: 8683.520 us/op | |
agronaIntSetIteratorWhile·p0.9999: 8683.520 us/op | |
agronaIntSetIteratorWhile·p1.00: 8683.520 us/op | |
·gc.alloc.rate: 1956.582 MB/sec | |
·gc.alloc.rate.norm: 15998045.371 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 5.000 ms | |
Iteration 2: 7798.618 ±(99.9%) 12.106 us/op | |
agronaIntSetIteratorWhile·p0.00: 7675.904 us/op | |
agronaIntSetIteratorWhile·p0.50: 7782.400 us/op | |
agronaIntSetIteratorWhile·p0.90: 7856.128 us/op | |
agronaIntSetIteratorWhile·p0.95: 7888.077 us/op | |
agronaIntSetIteratorWhile·p0.99: 8340.111 us/op | |
agronaIntSetIteratorWhile·p0.999: 8699.904 us/op | |
agronaIntSetIteratorWhile·p0.9999: 8699.904 us/op | |
agronaIntSetIteratorWhile·p1.00: 8699.904 us/op | |
·gc.alloc.rate: 1955.195 MB/sec | |
·gc.alloc.rate.norm: 15998045.142 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 4.000 ms | |
Iteration 3: 7823.334 ±(99.9%) 12.631 us/op | |
agronaIntSetIteratorWhile·p0.00: 7757.824 us/op | |
agronaIntSetIteratorWhile·p0.50: 7798.784 us/op | |
agronaIntSetIteratorWhile·p0.90: 7880.704 us/op | |
agronaIntSetIteratorWhile·p0.95: 7905.280 us/op | |
agronaIntSetIteratorWhile·p0.99: 8382.054 us/op | |
agronaIntSetIteratorWhile·p0.999: 8863.744 us/op | |
agronaIntSetIteratorWhile·p0.9999: 8863.744 us/op | |
agronaIntSetIteratorWhile·p1.00: 8863.744 us/op | |
·gc.alloc.rate: 1948.988 MB/sec | |
·gc.alloc.rate.norm: 15998044.933 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 5.000 ms | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 21.00% complete, ETA 00:53:12 | |
# Fork: 2 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 7960.902 ±(99.9%) 83.887 us/op | |
# Warmup Iteration 2: 7775.176 ±(99.9%) 11.091 us/op | |
# Warmup Iteration 3: 7790.962 ±(99.9%) 12.592 us/op | |
# Warmup Iteration 4: 7778.107 ±(99.9%) 12.101 us/op | |
# Warmup Iteration 5: 7800.075 ±(99.9%) 13.353 us/op | |
Iteration 1: 7847.447 ±(99.9%) 13.709 us/op | |
agronaIntSetIteratorWhile·p0.00: 7692.288 us/op | |
agronaIntSetIteratorWhile·p0.50: 7831.552 us/op | |
agronaIntSetIteratorWhile·p0.90: 7913.472 us/op | |
agronaIntSetIteratorWhile·p0.95: 7954.432 us/op | |
agronaIntSetIteratorWhile·p0.99: 8392.049 us/op | |
agronaIntSetIteratorWhile·p0.999: 8896.512 us/op | |
agronaIntSetIteratorWhile·p0.9999: 8896.512 us/op | |
agronaIntSetIteratorWhile·p1.00: 8896.512 us/op | |
·gc.alloc.rate: 1943.015 MB/sec | |
·gc.alloc.rate.norm: 15998046.606 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 5.000 ms | |
Iteration 2: 7816.717 ±(99.9%) 11.464 us/op | |
agronaIntSetIteratorWhile·p0.00: 7692.288 us/op | |
agronaIntSetIteratorWhile·p0.50: 7806.976 us/op | |
agronaIntSetIteratorWhile·p0.90: 7856.128 us/op | |
agronaIntSetIteratorWhile·p0.95: 7872.512 us/op | |
agronaIntSetIteratorWhile·p0.99: 8363.868 us/op | |
agronaIntSetIteratorWhile·p0.999: 8749.056 us/op | |
agronaIntSetIteratorWhile·p0.9999: 8749.056 us/op | |
agronaIntSetIteratorWhile·p1.00: 8749.056 us/op | |
·gc.alloc.rate: 1950.628 MB/sec | |
·gc.alloc.rate.norm: 15998045.475 B/op | |
·gc.count: 5.000 counts | |
·gc.time: 4.000 ms | |
Iteration 3: 7810.573 ±(99.9%) 10.769 us/op | |
agronaIntSetIteratorWhile·p0.00: 7684.096 us/op | |
agronaIntSetIteratorWhile·p0.50: 7806.976 us/op | |
agronaIntSetIteratorWhile·p0.90: 7847.936 us/op | |
agronaIntSetIteratorWhile·p0.95: 7864.320 us/op | |
agronaIntSetIteratorWhile·p0.99: 8316.027 us/op | |
agronaIntSetIteratorWhile·p0.999: 8634.368 us/op | |
agronaIntSetIteratorWhile·p0.9999: 8634.368 us/op | |
agronaIntSetIteratorWhile·p1.00: 8634.368 us/op | |
·gc.alloc.rate: 1952.194 MB/sec | |
·gc.alloc.rate.norm: 15998045.225 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 4.000 ms | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 22.00% complete, ETA 00:52:32 | |
# Fork: 3 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 7907.224 ±(99.9%) 74.211 us/op | |
# Warmup Iteration 2: 7866.201 ±(99.9%) 20.671 us/op | |
# Warmup Iteration 3: 7988.810 ±(99.9%) 12.408 us/op | |
# Warmup Iteration 4: 7996.021 ±(99.9%) 12.670 us/op | |
# Warmup Iteration 5: 7985.276 ±(99.9%) 14.302 us/op | |
Iteration 1: 8012.551 ±(99.9%) 11.841 us/op | |
agronaIntSetIteratorWhile·p0.00: 7905.280 us/op | |
agronaIntSetIteratorWhile·p0.50: 7987.200 us/op | |
agronaIntSetIteratorWhile·p0.90: 8110.080 us/op | |
agronaIntSetIteratorWhile·p0.95: 8126.464 us/op | |
agronaIntSetIteratorWhile·p0.99: 8495.104 us/op | |
agronaIntSetIteratorWhile·p0.999: 8863.744 us/op | |
agronaIntSetIteratorWhile·p0.9999: 8863.744 us/op | |
agronaIntSetIteratorWhile·p1.00: 8863.744 us/op | |
·gc.alloc.rate: 1903.033 MB/sec | |
·gc.alloc.rate.norm: 15998047.487 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 5.000 ms | |
Iteration 2: 8015.938 ±(99.9%) 12.373 us/op | |
agronaIntSetIteratorWhile·p0.00: 7888.896 us/op | |
agronaIntSetIteratorWhile·p0.50: 7987.200 us/op | |
agronaIntSetIteratorWhile·p0.90: 8118.272 us/op | |
agronaIntSetIteratorWhile·p0.95: 8134.656 us/op | |
agronaIntSetIteratorWhile·p0.99: 8548.352 us/op | |
agronaIntSetIteratorWhile·p0.999: 8929.280 us/op | |
agronaIntSetIteratorWhile·p0.9999: 8929.280 us/op | |
agronaIntSetIteratorWhile·p1.00: 8929.280 us/op | |
·gc.alloc.rate: 1902.162 MB/sec | |
·gc.alloc.rate.norm: 15998048.064 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 4.000 ms | |
Iteration 3: 8017.526 ±(99.9%) 11.642 us/op | |
agronaIntSetIteratorWhile·p0.00: 7905.280 us/op | |
agronaIntSetIteratorWhile·p0.50: 7987.200 us/op | |
agronaIntSetIteratorWhile·p0.90: 8118.272 us/op | |
agronaIntSetIteratorWhile·p0.95: 8134.656 us/op | |
agronaIntSetIteratorWhile·p0.99: 8357.888 us/op | |
agronaIntSetIteratorWhile·p0.999: 8929.280 us/op | |
agronaIntSetIteratorWhile·p0.9999: 8929.280 us/op | |
agronaIntSetIteratorWhile·p1.00: 8929.280 us/op | |
·gc.alloc.rate: 1901.815 MB/sec | |
·gc.alloc.rate.norm: 15998047.692 B/op | |
·gc.count: 5.000 counts | |
·gc.time: 4.000 ms | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 23.00% complete, ETA 00:51:51 | |
# Fork: 4 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 7651.817 ±(99.9%) 83.191 us/op | |
# Warmup Iteration 2: 7438.824 ±(99.9%) 14.228 us/op | |
# Warmup Iteration 3: 7469.965 ±(99.9%) 13.925 us/op | |
# Warmup Iteration 4: 7483.404 ±(99.9%) 12.678 us/op | |
# Warmup Iteration 5: 7462.655 ±(99.9%) 12.946 us/op | |
Iteration 1: 7477.349 ±(99.9%) 13.291 us/op | |
agronaIntSetIteratorWhile·p0.00: 7356.416 us/op | |
agronaIntSetIteratorWhile·p0.50: 7471.104 us/op | |
agronaIntSetIteratorWhile·p0.90: 7536.640 us/op | |
agronaIntSetIteratorWhile·p0.95: 7557.120 us/op | |
agronaIntSetIteratorWhile·p0.99: 7969.997 us/op | |
agronaIntSetIteratorWhile·p0.999: 8568.832 us/op | |
agronaIntSetIteratorWhile·p0.9999: 8568.832 us/op | |
agronaIntSetIteratorWhile·p1.00: 8568.832 us/op | |
·gc.alloc.rate: 2039.088 MB/sec | |
·gc.alloc.rate.norm: 15998041.303 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 5.000 ms | |
Iteration 2: 7494.722 ±(99.9%) 13.743 us/op | |
agronaIntSetIteratorWhile·p0.00: 7397.376 us/op | |
agronaIntSetIteratorWhile·p0.50: 7487.488 us/op | |
agronaIntSetIteratorWhile·p0.90: 7528.448 us/op | |
agronaIntSetIteratorWhile·p0.95: 7569.408 us/op | |
agronaIntSetIteratorWhile·p0.99: 8172.339 us/op | |
agronaIntSetIteratorWhile·p0.999: 8617.984 us/op | |
agronaIntSetIteratorWhile·p0.9999: 8617.984 us/op | |
agronaIntSetIteratorWhile·p1.00: 8617.984 us/op | |
·gc.alloc.rate: 2034.414 MB/sec | |
·gc.alloc.rate.norm: 15998041.571 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 6.000 ms | |
Iteration 3: 7498.308 ±(99.9%) 14.386 us/op | |
agronaIntSetIteratorWhile·p0.00: 7397.376 us/op | |
agronaIntSetIteratorWhile·p0.50: 7487.488 us/op | |
agronaIntSetIteratorWhile·p0.90: 7569.408 us/op | |
agronaIntSetIteratorWhile·p0.95: 7602.176 us/op | |
agronaIntSetIteratorWhile·p0.99: 8117.944 us/op | |
agronaIntSetIteratorWhile·p0.999: 8552.448 us/op | |
agronaIntSetIteratorWhile·p0.9999: 8552.448 us/op | |
agronaIntSetIteratorWhile·p1.00: 8552.448 us/op | |
·gc.alloc.rate: 2033.339 MB/sec | |
·gc.alloc.rate.norm: 15998041.931 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 5.000 ms | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 24.00% complete, ETA 00:51:11 | |
# Fork: 5 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 8207.685 ±(99.9%) 80.556 us/op | |
# Warmup Iteration 2: 7938.126 ±(99.9%) 22.785 us/op | |
# Warmup Iteration 3: 7700.063 ±(99.9%) 11.773 us/op | |
# Warmup Iteration 4: 7676.546 ±(99.9%) 11.324 us/op | |
# Warmup Iteration 5: 7700.998 ±(99.9%) 11.476 us/op | |
Iteration 1: 7694.342 ±(99.9%) 15.412 us/op | |
agronaIntSetIteratorWhile·p0.00: 7561.216 us/op | |
agronaIntSetIteratorWhile·p0.50: 7716.864 us/op | |
agronaIntSetIteratorWhile·p0.90: 7749.632 us/op | |
agronaIntSetIteratorWhile·p0.95: 7847.117 us/op | |
agronaIntSetIteratorWhile·p0.99: 8309.719 us/op | |
agronaIntSetIteratorWhile·p0.999: 8683.520 us/op | |
agronaIntSetIteratorWhile·p0.9999: 8683.520 us/op | |
agronaIntSetIteratorWhile·p1.00: 8683.520 us/op | |
·gc.alloc.rate: 1981.712 MB/sec | |
·gc.alloc.rate.norm: 15998044.898 B/op | |
·gc.count: 7.000 counts | |
·gc.time: 5.000 ms | |
Iteration 2: 7721.845 ±(99.9%) 10.194 us/op | |
agronaIntSetIteratorWhile·p0.00: 7585.792 us/op | |
agronaIntSetIteratorWhile·p0.50: 7725.056 us/op | |
agronaIntSetIteratorWhile·p0.90: 7741.440 us/op | |
agronaIntSetIteratorWhile·p0.95: 7757.824 us/op | |
agronaIntSetIteratorWhile·p0.99: 7956.234 us/op | |
agronaIntSetIteratorWhile·p0.999: 8634.368 us/op | |
agronaIntSetIteratorWhile·p0.9999: 8634.368 us/op | |
agronaIntSetIteratorWhile·p1.00: 8634.368 us/op | |
·gc.alloc.rate: 1974.619 MB/sec | |
·gc.alloc.rate.norm: 15998043.741 B/op | |
·gc.count: 5.000 counts | |
·gc.time: 4.000 ms | |
Iteration 3: 7712.477 ±(99.9%) 11.782 us/op | |
agronaIntSetIteratorWhile·p0.00: 7544.832 us/op | |
agronaIntSetIteratorWhile·p0.50: 7725.056 us/op | |
agronaIntSetIteratorWhile·p0.90: 7749.632 us/op | |
agronaIntSetIteratorWhile·p0.95: 7757.824 us/op | |
agronaIntSetIteratorWhile·p0.99: 8274.084 us/op | |
agronaIntSetIteratorWhile·p0.999: 8732.672 us/op | |
agronaIntSetIteratorWhile·p0.9999: 8732.672 us/op | |
agronaIntSetIteratorWhile·p1.00: 8732.672 us/op | |
·gc.alloc.rate: 1977.007 MB/sec | |
·gc.alloc.rate.norm: 15998044.074 B/op | |
·gc.count: 6.000 counts | |
·gc.time: 4.000 ms | |
# Processing profiler results: LinuxPerfProfiler | |
Result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetIteratorWhile": | |
N = 9660 | |
mean = 7765.178 ±(99.9%) 6.613 us/op | |
Histogram, us/op: | |
[7000.000, 7125.000) = 0 | |
[7125.000, 7250.000) = 0 | |
[7250.000, 7375.000) = 6 | |
[7375.000, 7500.000) = 1405 | |
[7500.000, 7625.000) = 805 | |
[7625.000, 7750.000) = 1862 | |
[7750.000, 7875.000) = 3314 | |
[7875.000, 8000.000) = 1513 | |
[8000.000, 8125.000) = 522 | |
[8125.000, 8250.000) = 138 | |
[8250.000, 8375.000) = 14 | |
[8375.000, 8500.000) = 17 | |
[8500.000, 8625.000) = 26 | |
[8625.000, 8750.000) = 26 | |
[8750.000, 8875.000) = 9 | |
Percentiles, us/op: | |
p(0.0000) = 7356.416 us/op | |
p(50.0000) = 7782.400 us/op | |
p(90.0000) = 7987.200 us/op | |
p(95.0000) = 8036.352 us/op | |
p(99.0000) = 8244.347 us/op | |
p(99.9000) = 8798.208 us/op | |
p(99.9900) = 8929.280 us/op | |
p(99.9990) = 8929.280 us/op | |
p(99.9999) = 8929.280 us/op | |
p(100.0000) = 8929.280 us/op | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetIteratorWhile:·gc.alloc.rate": | |
1963.586 ±(99.9%) 48.253 MB/sec [Average] | |
(min, avg, max) = (1901.815, 1963.586, 2039.088), stdev = 45.136 | |
CI (99.9%): [1915.333, 2011.839] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetIteratorWhile:·gc.alloc.rate.norm": | |
15998044.901 ±(99.9%) 2.268 B/op [Average] | |
(min, avg, max) = (15998041.303, 15998044.901, 15998048.064), stdev = 2.121 | |
CI (99.9%): [15998042.633, 15998047.169] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetIteratorWhile:·gc.count": | |
88.000 ±(99.9%) 0.001 counts [Sum] | |
(min, avg, max) = (5.000, 5.867, 7.000), stdev = 0.516 | |
CI (99.9%): [88.000, 88.000] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetIteratorWhile:·gc.time": | |
69.000 ±(99.9%) 0.001 ms [Sum] | |
(min, avg, max) = (4.000, 4.600, 6.000), stdev = 0.632 | |
CI (99.9%): [69.000, 69.000] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetIteratorWhile:·perf": | |
Perf stats: | |
-------------------------------------------------- | |
14,503.38 msec task-clock:u # 1.007 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
81 page-faults:u # 5.585 /sec | |
75,467,250,458 cycles:u # 5.203 GHz (36.08%) | |
12,166,583,684 stalled-cycles-frontend:u # 16.12% frontend cycles idle (36.27%) | |
132,149,980,706 instructions:u # 1.75 insn per cycle | |
# 0.09 stalled cycles per insn (36.32%) | |
22,145,924,966 branches:u # 1.527 G/sec (36.38%) | |
1,661,382,310 branch-misses:u # 7.50% of all branches (36.39%) | |
81,387,604,732 L1-dcache-loads:u # 5.612 G/sec (35.77%) | |
714,068,736 L1-dcache-load-misses:u # 0.88% of all L1-dcache accesses (35.63%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
28,087,003 L1-icache-loads:u # 1.937 M/sec (35.73%) | |
99,244 L1-icache-load-misses:u # 0.35% of all L1-icache accesses (35.71%) | |
579,623 dTLB-loads:u # 39.965 K/sec (35.68%) | |
56,581 dTLB-load-misses:u # 9.76% of all dTLB cache accesses (35.68%) | |
2,655 iTLB-loads:u # 183.061 /sec (35.70%) | |
866 iTLB-load-misses:u # 32.62% of all iTLB cache accesses (35.65%) | |
690,304,787 L1-dcache-prefetches:u # 47.596 M/sec (35.66%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.405544985 seconds time elapsed | |
41.408871000 seconds user | |
0.275652000 seconds sys | |
14,489.05 msec task-clock:u # 1.006 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
82 page-faults:u # 5.659 /sec | |
75,347,209,704 cycles:u # 5.200 GHz (36.04%) | |
12,258,869,652 stalled-cycles-frontend:u # 16.27% frontend cycles idle (36.21%) | |
132,021,129,467 instructions:u # 1.75 insn per cycle | |
# 0.09 stalled cycles per insn (36.22%) | |
22,089,023,034 branches:u # 1.525 G/sec (36.30%) | |
1,661,641,968 branch-misses:u # 7.52% of all branches (36.32%) | |
82,067,088,964 L1-dcache-loads:u # 5.664 G/sec (35.78%) | |
711,542,171 L1-dcache-load-misses:u # 0.87% of all L1-dcache accesses (35.64%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
29,409,013 L1-icache-loads:u # 2.030 M/sec (35.73%) | |
131,094 L1-icache-load-misses:u # 0.45% of all L1-icache accesses (35.71%) | |
627,494 dTLB-loads:u # 43.308 K/sec (35.71%) | |
70,781 dTLB-load-misses:u # 11.28% of all dTLB cache accesses (35.76%) | |
1,868 iTLB-loads:u # 128.925 /sec (35.75%) | |
1,617 iTLB-load-misses:u # 86.56% of all iTLB cache accesses (35.73%) | |
688,315,119 L1-dcache-prefetches:u # 47.506 M/sec (35.71%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.396229060 seconds time elapsed | |
41.250011000 seconds user | |
0.401968000 seconds sys | |
14,490.32 msec task-clock:u # 1.006 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
85 page-faults:u # 5.866 /sec | |
75,682,885,966 cycles:u # 5.223 GHz (35.89%) | |
13,297,794,446 stalled-cycles-frontend:u # 17.57% frontend cycles idle (36.01%) | |
129,283,557,544 instructions:u # 1.71 insn per cycle | |
# 0.10 stalled cycles per insn (36.20%) | |
21,651,847,908 branches:u # 1.494 G/sec (36.22%) | |
1,621,104,261 branch-misses:u # 7.49% of all branches (36.22%) | |
77,292,782,235 L1-dcache-loads:u # 5.334 G/sec (35.95%) | |
697,253,098 L1-dcache-load-misses:u # 0.90% of all L1-dcache accesses (35.86%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
26,852,119 L1-icache-loads:u # 1.853 M/sec (35.65%) | |
105,693 L1-icache-load-misses:u # 0.39% of all L1-icache accesses (35.71%) | |
569,591 dTLB-loads:u # 39.308 K/sec (35.74%) | |
47,451 dTLB-load-misses:u # 8.33% of all dTLB cache accesses (35.75%) | |
615 iTLB-loads:u # 42.442 /sec (35.74%) | |
615 iTLB-load-misses:u # 100.00% of all iTLB cache accesses (35.76%) | |
671,774,314 L1-dcache-prefetches:u # 46.360 M/sec (35.74%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.401013118 seconds time elapsed | |
41.244886000 seconds user | |
0.417078000 seconds sys | |
14,504.28 msec task-clock:u # 1.008 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
62 page-faults:u # 4.275 /sec | |
78,297,128,105 cycles:u # 5.398 GHz (35.97%) | |
12,428,780,112 stalled-cycles-frontend:u # 15.87% frontend cycles idle (36.23%) | |
137,664,499,499 instructions:u # 1.76 insn per cycle | |
# 0.09 stalled cycles per insn (36.30%) | |
23,059,807,244 branches:u # 1.590 G/sec (36.34%) | |
1,720,308,121 branch-misses:u # 7.46% of all branches (36.36%) | |
84,314,797,605 L1-dcache-loads:u # 5.813 G/sec (35.89%) | |
744,511,260 L1-dcache-load-misses:u # 0.88% of all L1-dcache accesses (35.67%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
25,993,594 L1-icache-loads:u # 1.792 M/sec (35.71%) | |
124,870 L1-icache-load-misses:u # 0.48% of all L1-icache accesses (35.73%) | |
665,388 dTLB-loads:u # 45.875 K/sec (35.76%) | |
78,815 dTLB-load-misses:u # 11.84% of all dTLB cache accesses (35.75%) | |
9,126 iTLB-loads:u # 629.194 /sec (35.74%) | |
3,384 iTLB-load-misses:u # 37.08% of all iTLB cache accesses (35.72%) | |
718,592,499 L1-dcache-prefetches:u # 49.543 M/sec (35.68%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.395334512 seconds time elapsed | |
41.408648000 seconds user | |
0.291140000 seconds sys | |
14,496.60 msec task-clock:u # 1.007 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
90 page-faults:u # 6.208 /sec | |
78,430,099,626 cycles:u # 5.410 GHz (36.07%) | |
14,005,007,344 stalled-cycles-frontend:u # 17.86% frontend cycles idle (36.19%) | |
134,029,544,940 instructions:u # 1.71 insn per cycle | |
# 0.10 stalled cycles per insn (36.22%) | |
22,454,336,795 branches:u # 1.549 G/sec (36.24%) | |
1,690,592,392 branch-misses:u # 7.53% of all branches (36.25%) | |
81,336,390,945 L1-dcache-loads:u # 5.611 G/sec (35.77%) | |
724,099,260 L1-dcache-load-misses:u # 0.89% of all L1-dcache accesses (35.65%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
28,550,981 L1-icache-loads:u # 1.969 M/sec (35.66%) | |
110,519 L1-icache-load-misses:u # 0.39% of all L1-icache accesses (35.75%) | |
616,191 dTLB-loads:u # 42.506 K/sec (35.75%) | |
63,061 dTLB-load-misses:u # 10.23% of all dTLB cache accesses (35.72%) | |
825 iTLB-loads:u # 56.910 /sec (35.75%) | |
1,122 iTLB-load-misses:u # 136.00% of all iTLB cache accesses (35.73%) | |
698,061,045 L1-dcache-prefetches:u # 48.153 M/sec (35.72%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.395333651 seconds time elapsed | |
41.333551000 seconds user | |
0.338933000 seconds sys | |
# JMH version: 1.36 | |
# VM version: JDK 21.0.4, OpenJDK 64-Bit Server VM, 21.0.4+7-LTS | |
# VM invoker: /home/nick/.jdks/azul-21.0.4/bin/java | |
# VM options: -Dfile.encoding=UTF-8 -Duser.country=GB -Duser.language=en -Duser.variant | |
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) | |
# Warmup: 5 iterations, 5 s each | |
# Measurement: 3 iterations, 5 s each | |
# Timeout: 10 min per iteration | |
# Threads: 1 thread, will synchronize iterations | |
# Benchmark mode: Sampling time | |
# Benchmark: uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetPrimitiveEnhancedFor | |
# Run progress: 25.00% complete, ETA 00:50:31 | |
# Fork: 1 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 5404.559 ±(99.9%) 19.683 us/op | |
# Warmup Iteration 2: 5342.733 ±(99.9%) 10.523 us/op | |
# Warmup Iteration 3: 5563.653 ±(99.9%) 10.074 us/op | |
# Warmup Iteration 4: 5589.611 ±(99.9%) 3.270 us/op | |
# Warmup Iteration 5: 5590.371 ±(99.9%) 6.420 us/op | |
Iteration 1: 5562.322 ±(99.9%) 12.069 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.00: 5283.840 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.50: 5603.328 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.90: 5627.904 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.95: 5636.096 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.99: 5677.056 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.999: 5767.168 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.9999: 5767.168 us/op | |
agronaIntSetPrimitiveEnhancedFor·p1.00: 5767.168 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.340 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 5571.482 ±(99.9%) 11.760 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.00: 5283.840 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.50: 5603.328 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.90: 5636.096 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.95: 5652.480 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.99: 5701.632 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.999: 5955.584 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.9999: 5955.584 us/op | |
agronaIntSetPrimitiveEnhancedFor·p1.00: 5955.584 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.390 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 5570.861 ±(99.9%) 9.243 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.00: 5292.032 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.50: 5586.944 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.90: 5611.520 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.95: 5627.904 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.99: 5685.412 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.999: 5922.816 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.9999: 5922.816 us/op | |
agronaIntSetPrimitiveEnhancedFor·p1.00: 5922.816 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.212 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 26.00% complete, ETA 00:49:50 | |
# Fork: 2 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 5598.732 ±(99.9%) 17.955 us/op | |
# Warmup Iteration 2: 5555.924 ±(99.9%) 10.804 us/op | |
# Warmup Iteration 3: 5565.141 ±(99.9%) 9.906 us/op | |
# Warmup Iteration 4: 5561.539 ±(99.9%) 9.205 us/op | |
# Warmup Iteration 5: 5564.877 ±(99.9%) 6.150 us/op | |
Iteration 1: 5574.451 ±(99.9%) 6.470 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.00: 5267.456 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.50: 5578.752 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.90: 5603.328 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.95: 5619.712 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.99: 5660.836 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.999: 5726.208 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.9999: 5726.208 us/op | |
agronaIntSetPrimitiveEnhancedFor·p1.00: 5726.208 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.301 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 5558.659 ±(99.9%) 11.169 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.00: 5267.456 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.50: 5586.944 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.90: 5619.712 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.95: 5627.904 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.99: 5668.864 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.999: 6053.888 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.9999: 6053.888 us/op | |
agronaIntSetPrimitiveEnhancedFor·p1.00: 6053.888 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.287 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 5581.989 ±(99.9%) 7.608 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.00: 5292.032 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.50: 5595.136 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.90: 5613.978 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.95: 5636.096 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.99: 5677.302 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.999: 5742.592 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.9999: 5742.592 us/op | |
agronaIntSetPrimitiveEnhancedFor·p1.00: 5742.592 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.116 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 27.00% complete, ETA 00:49:10 | |
# Fork: 3 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 5544.622 ±(99.9%) 19.997 us/op | |
# Warmup Iteration 2: 5577.170 ±(99.9%) 4.291 us/op | |
# Warmup Iteration 3: 5568.279 ±(99.9%) 4.440 us/op | |
# Warmup Iteration 4: 5542.079 ±(99.9%) 10.868 us/op | |
# Warmup Iteration 5: 5589.217 ±(99.9%) 2.477 us/op | |
Iteration 1: 5594.888 ±(99.9%) 4.499 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.00: 5292.032 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.50: 5595.136 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.90: 5619.712 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.95: 5627.904 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.99: 5660.672 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.999: 5758.976 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.9999: 5758.976 us/op | |
agronaIntSetPrimitiveEnhancedFor·p1.00: 5758.976 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.392 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 5591.132 ±(99.9%) 6.405 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.00: 5300.224 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.50: 5595.136 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.90: 5619.712 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.95: 5627.904 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.99: 5668.864 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.999: 5939.200 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.9999: 5939.200 us/op | |
agronaIntSetPrimitiveEnhancedFor·p1.00: 5939.200 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.327 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 5584.857 ±(99.9%) 8.217 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.00: 5300.224 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.50: 5595.136 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.90: 5627.904 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.95: 5636.096 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.99: 5677.056 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.999: 6119.424 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.9999: 6119.424 us/op | |
agronaIntSetPrimitiveEnhancedFor·p1.00: 6119.424 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.199 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 28.00% complete, ETA 00:48:29 | |
# Fork: 4 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 5585.772 ±(99.9%) 18.666 us/op | |
# Warmup Iteration 2: 5511.003 ±(99.9%) 12.969 us/op | |
# Warmup Iteration 3: 5505.538 ±(99.9%) 12.274 us/op | |
# Warmup Iteration 4: 5568.115 ±(99.9%) 7.929 us/op | |
# Warmup Iteration 5: 5504.401 ±(99.9%) 11.319 us/op | |
Iteration 1: 5597.154 ±(99.9%) 6.542 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.00: 5292.032 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.50: 5603.328 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.90: 5627.904 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.95: 5636.096 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.99: 5677.056 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.999: 5758.976 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.9999: 5758.976 us/op | |
agronaIntSetPrimitiveEnhancedFor·p1.00: 5758.976 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.419 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 5586.074 ±(99.9%) 7.168 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.00: 5300.224 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.50: 5595.136 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.90: 5619.712 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.95: 5627.904 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.99: 5660.672 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.999: 5947.392 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.9999: 5947.392 us/op | |
agronaIntSetPrimitiveEnhancedFor·p1.00: 5947.392 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.154 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 5592.524 ±(99.9%) 4.721 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.00: 5300.224 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.50: 5595.136 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.90: 5611.520 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.95: 5619.712 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.99: 5669.274 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.999: 5890.048 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.9999: 5890.048 us/op | |
agronaIntSetPrimitiveEnhancedFor·p1.00: 5890.048 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.282 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 29.00% complete, ETA 00:47:49 | |
# Fork: 5 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 5578.761 ±(99.9%) 20.263 us/op | |
# Warmup Iteration 2: 5580.745 ±(99.9%) 5.738 us/op | |
# Warmup Iteration 3: 5581.714 ±(99.9%) 6.335 us/op | |
# Warmup Iteration 4: 5584.546 ±(99.9%) 5.034 us/op | |
# Warmup Iteration 5: 5588.088 ±(99.9%) 2.645 us/op | |
Iteration 1: 5590.078 ±(99.9%) 6.131 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.00: 5267.456 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.50: 5595.136 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.90: 5611.520 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.95: 5619.712 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.99: 5661.082 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.999: 5750.784 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.9999: 5750.784 us/op | |
agronaIntSetPrimitiveEnhancedFor·p1.00: 5750.784 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.353 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 5593.358 ±(99.9%) 5.184 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.00: 5283.840 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.50: 5595.136 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.90: 5611.520 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.95: 5619.712 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.99: 5669.274 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.999: 5906.432 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.9999: 5906.432 us/op | |
agronaIntSetPrimitiveEnhancedFor·p1.00: 5906.432 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.327 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 5602.786 ±(99.9%) 5.097 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.00: 5292.032 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.50: 5603.328 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.90: 5627.904 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.95: 5644.288 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.99: 5685.821 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.999: 6012.928 us/op | |
agronaIntSetPrimitiveEnhancedFor·p0.9999: 6012.928 us/op | |
agronaIntSetPrimitiveEnhancedFor·p1.00: 6012.928 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 34.332 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
Result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetPrimitiveEnhancedFor": | |
N = 13429 | |
mean = 5583.478 ±(99.9%) 2.060 us/op | |
Histogram, us/op: | |
[5200.000, 5300.000) = 46 | |
[5300.000, 5400.000) = 774 | |
[5400.000, 5500.000) = 2 | |
[5500.000, 5600.000) = 6757 | |
[5600.000, 5700.000) = 5780 | |
[5700.000, 5800.000) = 52 | |
[5800.000, 5900.000) = 9 | |
[5900.000, 6000.000) = 6 | |
[6000.000, 6100.000) = 2 | |
Percentiles, us/op: | |
p(0.0000) = 5267.456 us/op | |
p(50.0000) = 5595.136 us/op | |
p(90.0000) = 5619.712 us/op | |
p(95.0000) = 5636.096 us/op | |
p(99.0000) = 5668.864 us/op | |
p(99.9000) = 5886.525 us/op | |
p(99.9900) = 6096.945 us/op | |
p(99.9990) = 6119.424 us/op | |
p(99.9999) = 6119.424 us/op | |
p(100.0000) = 6119.424 us/op | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetPrimitiveEnhancedFor:·gc.alloc.rate": | |
0.006 ±(99.9%) 0.001 MB/sec [Average] | |
(min, avg, max) = (0.006, 0.006, 0.006), stdev = 0.001 | |
CI (99.9%): [0.006, 0.006] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetPrimitiveEnhancedFor:·gc.alloc.rate.norm": | |
34.295 ±(99.9%) 0.095 B/op [Average] | |
(min, avg, max) = (34.116, 34.295, 34.419), stdev = 0.089 | |
CI (99.9%): [34.200, 34.391] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetPrimitiveEnhancedFor:·gc.count": | |
≈ 0 counts | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.agronaIntSetPrimitiveEnhancedFor:·perf": | |
Perf stats: | |
-------------------------------------------------- | |
14,413.71 msec task-clock:u # 1.002 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
99 page-faults:u # 6.868 /sec | |
76,370,157,609 cycles:u # 5.298 GHz (35.80%) | |
19,017,054,777 stalled-cycles-frontend:u # 24.90% frontend cycles idle (35.86%) | |
110,116,835,231 instructions:u # 1.44 insn per cycle | |
# 0.17 stalled cycles per insn (35.89%) | |
18,533,242,910 branches:u # 1.286 G/sec (35.90%) | |
2,471,873,185 branch-misses:u # 13.34% of all branches (35.91%) | |
36,729,437,603 L1-dcache-loads:u # 2.548 G/sec (35.79%) | |
341,157,946 L1-dcache-load-misses:u # 0.93% of all L1-dcache accesses (35.72%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
6,761,244 L1-icache-loads:u # 469.084 K/sec (35.71%) | |
47,474 L1-icache-load-misses:u # 0.70% of all L1-icache accesses (35.72%) | |
122,643 dTLB-loads:u # 8.509 K/sec (35.71%) | |
2,331 dTLB-load-misses:u # 1.90% of all dTLB cache accesses (35.69%) | |
212 iTLB-loads:u # 14.708 /sec (35.75%) | |
282 iTLB-load-misses:u # 133.02% of all iTLB cache accesses (35.72%) | |
337,618,737 L1-dcache-prefetches:u # 23.423 M/sec (35.71%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.391346027 seconds time elapsed | |
41.030150000 seconds user | |
0.178451000 seconds sys | |
14,415.39 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
159 page-faults:u # 11.030 /sec | |
76,352,510,814 cycles:u # 5.297 GHz (35.81%) | |
19,298,961,267 stalled-cycles-frontend:u # 25.28% frontend cycles idle (35.84%) | |
109,957,840,797 instructions:u # 1.44 insn per cycle | |
# 0.18 stalled cycles per insn (35.87%) | |
18,499,174,217 branches:u # 1.283 G/sec (35.88%) | |
2,476,383,893 branch-misses:u # 13.39% of all branches (35.90%) | |
36,888,569,734 L1-dcache-loads:u # 2.559 G/sec (35.75%) | |
339,511,431 L1-dcache-load-misses:u # 0.92% of all L1-dcache accesses (35.77%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
7,324,770 L1-icache-loads:u # 508.121 K/sec (35.76%) | |
40,575 L1-icache-load-misses:u # 0.55% of all L1-icache accesses (35.76%) | |
121,388 dTLB-loads:u # 8.421 K/sec (35.74%) | |
7,773 dTLB-load-misses:u # 6.40% of all dTLB cache accesses (35.73%) | |
728 iTLB-loads:u # 50.502 /sec (35.69%) | |
588 iTLB-load-misses:u # 80.77% of all iTLB cache accesses (35.67%) | |
338,055,983 L1-dcache-prefetches:u # 23.451 M/sec (35.65%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.399388319 seconds time elapsed | |
41.050588000 seconds user | |
0.195253000 seconds sys | |
14,416.15 msec task-clock:u # 1.002 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
230 page-faults:u # 15.954 /sec | |
76,388,643,869 cycles:u # 5.299 GHz (35.81%) | |
18,893,306,759 stalled-cycles-frontend:u # 24.73% frontend cycles idle (35.86%) | |
109,628,124,517 instructions:u # 1.44 insn per cycle | |
# 0.17 stalled cycles per insn (35.89%) | |
18,447,473,925 branches:u # 1.280 G/sec (35.89%) | |
2,471,817,672 branch-misses:u # 13.40% of all branches (35.91%) | |
36,417,072,061 L1-dcache-loads:u # 2.526 G/sec (35.80%) | |
342,576,154 L1-dcache-load-misses:u # 0.94% of all L1-dcache accesses (35.75%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
15,776,001 L1-icache-loads:u # 1.094 M/sec (35.73%) | |
110,410 L1-icache-load-misses:u # 0.70% of all L1-icache accesses (35.71%) | |
384,081 dTLB-loads:u # 26.642 K/sec (35.68%) | |
4,832 dTLB-load-misses:u # 1.26% of all dTLB cache accesses (35.72%) | |
260 iTLB-loads:u # 18.035 /sec (35.69%) | |
240 iTLB-load-misses:u # 92.31% of all iTLB cache accesses (35.74%) | |
336,352,044 L1-dcache-prefetches:u # 23.332 M/sec (35.73%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.391126057 seconds time elapsed | |
41.131597000 seconds user | |
0.114756000 seconds sys | |
14,411.60 msec task-clock:u # 1.002 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
389 page-faults:u # 26.992 /sec | |
76,363,928,083 cycles:u # 5.299 GHz (35.81%) | |
19,102,185,879 stalled-cycles-frontend:u # 25.01% frontend cycles idle (35.86%) | |
109,548,449,787 instructions:u # 1.43 insn per cycle | |
# 0.17 stalled cycles per insn (35.89%) | |
18,443,560,767 branches:u # 1.280 G/sec (35.91%) | |
2,470,986,756 branch-misses:u # 13.40% of all branches (35.94%) | |
36,501,273,262 L1-dcache-loads:u # 2.533 G/sec (35.81%) | |
342,042,886 L1-dcache-load-misses:u # 0.94% of all L1-dcache accesses (35.76%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
11,879,519 L1-icache-loads:u # 824.302 K/sec (35.72%) | |
62,935 L1-icache-load-misses:u # 0.53% of all L1-icache accesses (35.69%) | |
94,061 dTLB-loads:u # 6.527 K/sec (35.65%) | |
414 dTLB-load-misses:u # 0.44% of all dTLB cache accesses (35.74%) | |
512 iTLB-loads:u # 35.527 /sec (35.73%) | |
148 iTLB-load-misses:u # 28.91% of all iTLB cache accesses (35.73%) | |
335,886,356 L1-dcache-prefetches:u # 23.307 M/sec (35.72%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.385857025 seconds time elapsed | |
41.074955000 seconds user | |
0.161657000 seconds sys | |
14,422.71 msec task-clock:u # 1.002 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
261 page-faults:u # 18.096 /sec | |
76,369,683,923 cycles:u # 5.295 GHz (35.80%) | |
18,612,939,106 stalled-cycles-frontend:u # 24.37% frontend cycles idle (35.86%) | |
109,530,577,999 instructions:u # 1.43 insn per cycle | |
# 0.17 stalled cycles per insn (35.89%) | |
18,440,796,445 branches:u # 1.279 G/sec (35.92%) | |
2,474,639,409 branch-misses:u # 13.42% of all branches (35.94%) | |
36,506,473,814 L1-dcache-loads:u # 2.531 G/sec (35.82%) | |
341,332,856 L1-dcache-load-misses:u # 0.93% of all L1-dcache accesses (35.76%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
11,594,397 L1-icache-loads:u # 803.899 K/sec (35.75%) | |
62,836 L1-icache-load-misses:u # 0.54% of all L1-icache accesses (35.72%) | |
141,930 dTLB-loads:u # 9.841 K/sec (35.69%) | |
7,876 dTLB-load-misses:u # 5.55% of all dTLB cache accesses (35.68%) | |
742 iTLB-loads:u # 51.447 /sec (35.68%) | |
95 iTLB-load-misses:u # 12.80% of all iTLB cache accesses (35.66%) | |
335,926,529 L1-dcache-prefetches:u # 23.291 M/sec (35.71%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.397850322 seconds time elapsed | |
41.036916000 seconds user | |
0.206619000 seconds sys | |
# JMH version: 1.36 | |
# VM version: JDK 21.0.4, OpenJDK 64-Bit Server VM, 21.0.4+7-LTS | |
# VM invoker: /home/nick/.jdks/azul-21.0.4/bin/java | |
# VM options: -Dfile.encoding=UTF-8 -Duser.country=GB -Duser.language=en -Duser.variant | |
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) | |
# Warmup: 5 iterations, 5 s each | |
# Measurement: 3 iterations, 5 s each | |
# Timeout: 10 min per iteration | |
# Threads: 1 thread, will synchronize iterations | |
# Benchmark mode: Sampling time | |
# Benchmark: uk.co.palmr.benchmarks.ForLoopBenchmark.integerListEnhancedFor | |
# Run progress: 30.00% complete, ETA 00:47:08 | |
# Fork: 1 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 375.667 ±(99.9%) 1.566 us/op | |
# Warmup Iteration 2: 379.915 ±(99.9%) 0.509 us/op | |
# Warmup Iteration 3: 377.585 ±(99.9%) 0.411 us/op | |
# Warmup Iteration 4: 380.563 ±(99.9%) 0.525 us/op | |
# Warmup Iteration 5: 377.628 ±(99.9%) 0.550 us/op | |
Iteration 1: 377.469 ±(99.9%) 0.524 us/op | |
integerListEnhancedFor·p0.00: 357.376 us/op | |
integerListEnhancedFor·p0.50: 373.760 us/op | |
integerListEnhancedFor·p0.90: 391.168 us/op | |
integerListEnhancedFor·p0.95: 400.384 us/op | |
integerListEnhancedFor·p0.99: 451.584 us/op | |
integerListEnhancedFor·p0.999: 588.800 us/op | |
integerListEnhancedFor·p0.9999: 661.439 us/op | |
integerListEnhancedFor·p1.00: 670.720 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 5.325 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 377.279 ±(99.9%) 0.474 us/op | |
integerListEnhancedFor·p0.00: 356.352 us/op | |
integerListEnhancedFor·p0.50: 374.272 us/op | |
integerListEnhancedFor·p0.90: 390.144 us/op | |
integerListEnhancedFor·p0.95: 398.336 us/op | |
integerListEnhancedFor·p0.99: 434.176 us/op | |
integerListEnhancedFor·p0.999: 571.142 us/op | |
integerListEnhancedFor·p0.9999: 717.324 us/op | |
integerListEnhancedFor·p1.00: 723.968 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 5.257 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 377.483 ±(99.9%) 0.452 us/op | |
integerListEnhancedFor·p0.00: 355.840 us/op | |
integerListEnhancedFor·p0.50: 374.272 us/op | |
integerListEnhancedFor·p0.90: 391.168 us/op | |
integerListEnhancedFor·p0.95: 399.360 us/op | |
integerListEnhancedFor·p0.99: 430.915 us/op | |
integerListEnhancedFor·p0.999: 557.595 us/op | |
integerListEnhancedFor·p0.9999: 679.226 us/op | |
integerListEnhancedFor·p1.00: 712.704 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 5.246 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 31.00% complete, ETA 00:46:28 | |
# Fork: 2 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 445.748 ±(99.9%) 1.961 us/op | |
# Warmup Iteration 2: 446.130 ±(99.9%) 0.703 us/op | |
# Warmup Iteration 3: 443.829 ±(99.9%) 0.584 us/op | |
# Warmup Iteration 4: 445.910 ±(99.9%) 0.705 us/op | |
# Warmup Iteration 5: 442.241 ±(99.9%) 0.609 us/op | |
Iteration 1: 465.116 ±(99.9%) 1.004 us/op | |
integerListEnhancedFor·p0.00: 422.912 us/op | |
integerListEnhancedFor·p0.50: 457.216 us/op | |
integerListEnhancedFor·p0.90: 493.056 us/op | |
integerListEnhancedFor·p0.95: 524.288 us/op | |
integerListEnhancedFor·p0.99: 611.328 us/op | |
integerListEnhancedFor·p0.999: 673.294 us/op | |
integerListEnhancedFor·p0.9999: 764.202 us/op | |
integerListEnhancedFor·p1.00: 765.952 us/op | |
·gc.alloc.rate: 0.014 MB/sec | |
·gc.alloc.rate.norm: 6.751 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 461.733 ±(99.9%) 1.181 us/op | |
integerListEnhancedFor·p0.00: 416.768 us/op | |
integerListEnhancedFor·p0.50: 451.584 us/op | |
integerListEnhancedFor·p0.90: 499.200 us/op | |
integerListEnhancedFor·p0.95: 533.504 us/op | |
integerListEnhancedFor·p0.99: 623.616 us/op | |
integerListEnhancedFor·p0.999: 705.249 us/op | |
integerListEnhancedFor·p0.9999: 839.039 us/op | |
integerListEnhancedFor·p1.00: 846.848 us/op | |
·gc.alloc.rate: 0.014 MB/sec | |
·gc.alloc.rate.norm: 6.740 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 459.295 ±(99.9%) 1.315 us/op | |
integerListEnhancedFor·p0.00: 417.792 us/op | |
integerListEnhancedFor·p0.50: 445.440 us/op | |
integerListEnhancedFor·p0.90: 508.416 us/op | |
integerListEnhancedFor·p0.95: 550.912 us/op | |
integerListEnhancedFor·p0.99: 626.893 us/op | |
integerListEnhancedFor·p0.999: 698.614 us/op | |
integerListEnhancedFor·p0.9999: 828.482 us/op | |
integerListEnhancedFor·p1.00: 830.464 us/op | |
·gc.alloc.rate: 0.014 MB/sec | |
·gc.alloc.rate.norm: 6.744 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 32.00% complete, ETA 00:45:47 | |
# Fork: 3 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 518.859 ±(99.9%) 2.680 us/op | |
# Warmup Iteration 2: 519.881 ±(99.9%) 2.371 us/op | |
# Warmup Iteration 3: 493.778 ±(99.9%) 0.971 us/op | |
# Warmup Iteration 4: 503.661 ±(99.9%) 1.561 us/op | |
# Warmup Iteration 5: 487.173 ±(99.9%) 0.576 us/op | |
Iteration 1: 513.051 ±(99.9%) 1.578 us/op | |
integerListEnhancedFor·p0.00: 470.528 us/op | |
integerListEnhancedFor·p0.50: 498.688 us/op | |
integerListEnhancedFor·p0.90: 551.936 us/op | |
integerListEnhancedFor·p0.95: 615.424 us/op | |
integerListEnhancedFor·p0.99: 726.630 us/op | |
integerListEnhancedFor·p0.999: 784.159 us/op | |
integerListEnhancedFor·p0.9999: 856.064 us/op | |
integerListEnhancedFor·p1.00: 856.064 us/op | |
·gc.alloc.rate: 0.014 MB/sec | |
·gc.alloc.rate.norm: 7.432 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 493.176 ±(99.9%) 0.733 us/op | |
integerListEnhancedFor·p0.00: 471.040 us/op | |
integerListEnhancedFor·p0.50: 488.448 us/op | |
integerListEnhancedFor·p0.90: 508.928 us/op | |
integerListEnhancedFor·p0.95: 522.240 us/op | |
integerListEnhancedFor·p0.99: 590.500 us/op | |
integerListEnhancedFor·p0.999: 725.330 us/op | |
integerListEnhancedFor·p0.9999: 954.349 us/op | |
integerListEnhancedFor·p1.00: 955.392 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 6.803 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 493.362 ±(99.9%) 0.797 us/op | |
integerListEnhancedFor·p0.00: 470.528 us/op | |
integerListEnhancedFor·p0.50: 487.936 us/op | |
integerListEnhancedFor·p0.90: 508.928 us/op | |
integerListEnhancedFor·p0.95: 522.752 us/op | |
integerListEnhancedFor·p0.99: 596.992 us/op | |
integerListEnhancedFor·p0.999: 770.048 us/op | |
integerListEnhancedFor·p0.9999: 948.834 us/op | |
integerListEnhancedFor·p1.00: 950.272 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 6.847 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 33.00% complete, ETA 00:45:07 | |
# Fork: 4 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 427.292 ±(99.9%) 1.772 us/op | |
# Warmup Iteration 2: 430.696 ±(99.9%) 0.845 us/op | |
# Warmup Iteration 3: 427.377 ±(99.9%) 0.516 us/op | |
# Warmup Iteration 4: 423.903 ±(99.9%) 0.431 us/op | |
# Warmup Iteration 5: 425.823 ±(99.9%) 1.352 us/op | |
Iteration 1: 426.294 ±(99.9%) 0.480 us/op | |
integerListEnhancedFor·p0.00: 408.064 us/op | |
integerListEnhancedFor·p0.50: 423.424 us/op | |
integerListEnhancedFor·p0.90: 437.248 us/op | |
integerListEnhancedFor·p0.95: 443.904 us/op | |
integerListEnhancedFor·p0.99: 479.124 us/op | |
integerListEnhancedFor·p0.999: 630.046 us/op | |
integerListEnhancedFor·p0.9999: 853.744 us/op | |
integerListEnhancedFor·p1.00: 878.592 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 5.832 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 428.939 ±(99.9%) 1.591 us/op | |
integerListEnhancedFor·p0.00: 409.088 us/op | |
integerListEnhancedFor·p0.50: 424.448 us/op | |
integerListEnhancedFor·p0.90: 439.808 us/op | |
integerListEnhancedFor·p0.95: 448.512 us/op | |
integerListEnhancedFor·p0.99: 509.210 us/op | |
integerListEnhancedFor·p0.999: 784.553 us/op | |
integerListEnhancedFor·p0.9999: 3628.722 us/op | |
integerListEnhancedFor·p1.00: 3862.528 us/op | |
·gc.alloc.rate: 0.024 MB/sec | |
·gc.alloc.rate.norm: 10.969 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 434.172 ±(99.9%) 1.059 us/op | |
integerListEnhancedFor·p0.00: 408.576 us/op | |
integerListEnhancedFor·p0.50: 425.472 us/op | |
integerListEnhancedFor·p0.90: 451.072 us/op | |
integerListEnhancedFor·p0.95: 479.488 us/op | |
integerListEnhancedFor·p0.99: 638.976 us/op | |
integerListEnhancedFor·p0.999: 705.516 us/op | |
integerListEnhancedFor·p0.9999: 940.851 us/op | |
integerListEnhancedFor·p1.00: 971.776 us/op | |
·gc.alloc.rate: 0.014 MB/sec | |
·gc.alloc.rate.norm: 6.448 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 34.00% complete, ETA 00:44:27 | |
# Fork: 5 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 440.113 ±(99.9%) 1.871 us/op | |
# Warmup Iteration 2: 438.106 ±(99.9%) 0.557 us/op | |
# Warmup Iteration 3: 438.297 ±(99.9%) 0.540 us/op | |
# Warmup Iteration 4: 437.908 ±(99.9%) 0.524 us/op | |
# Warmup Iteration 5: 446.788 ±(99.9%) 1.021 us/op | |
Iteration 1: 474.882 ±(99.9%) 1.690 us/op | |
integerListEnhancedFor·p0.00: 420.864 us/op | |
integerListEnhancedFor·p0.50: 455.680 us/op | |
integerListEnhancedFor·p0.90: 544.768 us/op | |
integerListEnhancedFor·p0.95: 593.920 us/op | |
integerListEnhancedFor·p0.99: 668.447 us/op | |
integerListEnhancedFor·p0.999: 737.055 us/op | |
integerListEnhancedFor·p0.9999: 900.475 us/op | |
integerListEnhancedFor·p1.00: 907.264 us/op | |
·gc.alloc.rate: 0.014 MB/sec | |
·gc.alloc.rate.norm: 7.034 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 492.844 ±(99.9%) 2.120 us/op | |
integerListEnhancedFor·p0.00: 420.864 us/op | |
integerListEnhancedFor·p0.50: 471.552 us/op | |
integerListEnhancedFor·p0.90: 580.608 us/op | |
integerListEnhancedFor·p0.95: 633.856 us/op | |
integerListEnhancedFor·p0.99: 716.800 us/op | |
integerListEnhancedFor·p0.999: 855.216 us/op | |
integerListEnhancedFor·p0.9999: 1070.793 us/op | |
integerListEnhancedFor·p1.00: 1071.104 us/op | |
·gc.alloc.rate: 0.020 MB/sec | |
·gc.alloc.rate.norm: 10.353 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 490.813 ±(99.9%) 2.320 us/op | |
integerListEnhancedFor·p0.00: 422.912 us/op | |
integerListEnhancedFor·p0.50: 463.872 us/op | |
integerListEnhancedFor·p0.90: 588.800 us/op | |
integerListEnhancedFor·p0.95: 640.000 us/op | |
integerListEnhancedFor·p0.99: 757.965 us/op | |
integerListEnhancedFor·p0.999: 896.860 us/op | |
integerListEnhancedFor·p0.9999: 995.983 us/op | |
integerListEnhancedFor·p1.00: 996.352 us/op | |
·gc.alloc.rate: 0.015 MB/sec | |
·gc.alloc.rate.norm: 7.653 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
Result "uk.co.palmr.benchmarks.ForLoopBenchmark.integerListEnhancedFor": | |
N = 167866 | |
mean = 446.453 ±(99.9%) 0.483 us/op | |
Histogram, us/op: | |
[ 0.000, 250.000) = 0 | |
[ 250.000, 500.000) = 146971 | |
[ 500.000, 750.000) = 20634 | |
[ 750.000, 1000.000) = 252 | |
[1000.000, 1250.000) = 3 | |
[1250.000, 1500.000) = 1 | |
[1500.000, 1750.000) = 0 | |
[1750.000, 2000.000) = 0 | |
[2000.000, 2250.000) = 2 | |
[2250.000, 2500.000) = 2 | |
[2500.000, 2750.000) = 0 | |
[2750.000, 3000.000) = 0 | |
[3000.000, 3250.000) = 0 | |
[3250.000, 3500.000) = 0 | |
[3500.000, 3750.000) = 0 | |
Percentiles, us/op: | |
p(0.0000) = 355.840 us/op | |
p(50.0000) = 439.808 us/op | |
p(90.0000) = 506.880 us/op | |
p(95.0000) = 540.672 us/op | |
p(99.0000) = 651.264 us/op | |
p(99.9000) = 771.208 us/op | |
p(99.9900) = 951.364 us/op | |
p(99.9990) = 2897.926 us/op | |
p(99.9999) = 3862.528 us/op | |
p(100.0000) = 3862.528 us/op | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.integerListEnhancedFor:·gc.alloc.rate": | |
0.015 ±(99.9%) 0.003 MB/sec [Average] | |
(min, avg, max) = (0.013, 0.015, 0.024), stdev = 0.003 | |
CI (99.9%): [0.011, 0.018] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.integerListEnhancedFor:·gc.alloc.rate.norm": | |
7.029 ±(99.9%) 1.772 B/op [Average] | |
(min, avg, max) = (5.246, 7.029, 10.969), stdev = 1.657 | |
CI (99.9%): [5.257, 8.801] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.integerListEnhancedFor:·gc.count": | |
≈ 0 counts | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.integerListEnhancedFor:·perf": | |
Perf stats: | |
-------------------------------------------------- | |
14,398.70 msec task-clock:u # 1.002 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
634 page-faults:u # 44.032 /sec | |
78,851,053,844 cycles:u # 5.476 GHz (35.77%) | |
542,035,053 stalled-cycles-frontend:u # 0.69% frontend cycles idle (35.86%) | |
283,762,817,525 instructions:u # 3.60 insn per cycle | |
# 0.00 stalled cycles per insn (35.90%) | |
75,680,148,349 branches:u # 5.256 G/sec (35.95%) | |
12,761,406 branch-misses:u # 0.02% of all branches (35.96%) | |
76,205,696,539 L1-dcache-loads:u # 5.293 G/sec (35.87%) | |
15,403,442,640 L1-dcache-load-misses:u # 20.21% of all L1-dcache accesses (35.78%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
170,081,165 L1-icache-loads:u # 11.812 M/sec (35.73%) | |
283,208 L1-icache-load-misses:u # 0.17% of all L1-icache accesses (35.75%) | |
1,061,881 dTLB-loads:u # 73.748 K/sec (35.73%) | |
31,402 dTLB-load-misses:u # 2.96% of all dTLB cache accesses (35.68%) | |
719 iTLB-loads:u # 49.935 /sec (35.70%) | |
2,028 iTLB-load-misses:u # 282.06% of all iTLB cache accesses (35.68%) | |
7,250,412,157 L1-dcache-prefetches:u # 503.546 M/sec (35.65%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.371343510 seconds time elapsed | |
40.665395000 seconds user | |
0.405988000 seconds sys | |
14,383.92 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
104 page-faults:u # 7.230 /sec | |
79,171,601,480 cycles:u # 5.504 GHz (35.69%) | |
614,249,905 stalled-cycles-frontend:u # 0.78% frontend cycles idle (35.84%) | |
232,002,665,882 instructions:u # 2.93 insn per cycle | |
# 0.00 stalled cycles per insn (35.87%) | |
61,794,649,692 branches:u # 4.296 G/sec (35.89%) | |
9,933,803 branch-misses:u # 0.02% of all branches (35.93%) | |
62,144,105,699 L1-dcache-loads:u # 4.320 G/sec (35.86%) | |
13,242,322,768 L1-dcache-load-misses:u # 21.31% of all L1-dcache accesses (35.76%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
120,633,737 L1-icache-loads:u # 8.387 M/sec (35.75%) | |
258,517 L1-icache-load-misses:u # 0.21% of all L1-icache accesses (35.77%) | |
1,301,234 dTLB-loads:u # 90.464 K/sec (35.76%) | |
51,989 dTLB-load-misses:u # 4.00% of all dTLB cache accesses (35.73%) | |
2,285 iTLB-loads:u # 158.858 /sec (35.71%) | |
3,650 iTLB-load-misses:u # 159.74% of all iTLB cache accesses (35.67%) | |
6,191,910,296 L1-dcache-prefetches:u # 430.474 M/sec (35.63%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.375100313 seconds time elapsed | |
40.591047000 seconds user | |
0.475991000 seconds sys | |
14,409.88 msec task-clock:u # 1.002 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
83 page-faults:u # 5.760 /sec | |
76,886,617,120 cycles:u # 5.336 GHz (35.77%) | |
493,521,348 stalled-cycles-frontend:u # 0.64% frontend cycles idle (35.85%) | |
214,979,698,452 instructions:u # 2.80 insn per cycle | |
# 0.00 stalled cycles per insn (35.87%) | |
57,277,600,340 branches:u # 3.975 G/sec (35.89%) | |
10,699,455 branch-misses:u # 0.02% of all branches (35.91%) | |
57,690,309,428 L1-dcache-loads:u # 4.004 G/sec (35.83%) | |
12,189,364,242 L1-dcache-load-misses:u # 21.13% of all L1-dcache accesses (35.77%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
135,942,235 L1-icache-loads:u # 9.434 M/sec (35.81%) | |
282,077 L1-icache-load-misses:u # 0.21% of all L1-icache accesses (35.79%) | |
1,637,927 dTLB-loads:u # 113.667 K/sec (35.77%) | |
45,840 dTLB-load-misses:u # 2.80% of all dTLB cache accesses (35.74%) | |
103 iTLB-loads:u # 7.148 /sec (35.71%) | |
577 iTLB-load-misses:u # 560.19% of all iTLB cache accesses (35.67%) | |
5,922,360,959 L1-dcache-prefetches:u # 410.993 M/sec (35.66%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.382467006 seconds time elapsed | |
40.908080000 seconds user | |
0.278203000 seconds sys | |
14,405.78 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
87 page-faults:u # 6.039 /sec | |
76,492,313,799 cycles:u # 5.310 GHz (35.83%) | |
465,521,222 stalled-cycles-frontend:u # 0.61% frontend cycles idle (35.83%) | |
250,360,889,806 instructions:u # 3.27 insn per cycle | |
# 0.00 stalled cycles per insn (35.87%) | |
66,734,514,785 branches:u # 4.632 G/sec (35.87%) | |
10,813,244 branch-misses:u # 0.02% of all branches (35.87%) | |
67,117,805,712 L1-dcache-loads:u # 4.659 G/sec (35.74%) | |
13,802,015,508 L1-dcache-load-misses:u # 20.56% of all L1-dcache accesses (35.73%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
160,561,108 L1-icache-loads:u # 11.146 M/sec (35.65%) | |
253,034 L1-icache-load-misses:u # 0.16% of all L1-icache accesses (35.73%) | |
503,197 dTLB-loads:u # 34.930 K/sec (35.74%) | |
7,577 dTLB-load-misses:u # 1.51% of all dTLB cache accesses (35.75%) | |
25 iTLB-loads:u # 1.735 /sec (35.76%) | |
114 iTLB-load-misses:u # 456.00% of all iTLB cache accesses (35.75%) | |
6,482,695,092 L1-dcache-prefetches:u # 450.006 M/sec (35.75%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.398327702 seconds time elapsed | |
41.058267000 seconds user | |
0.158028000 seconds sys | |
14,407.41 msec task-clock:u # 1.002 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
680 page-faults:u # 47.198 /sec | |
76,615,849,764 cycles:u # 5.318 GHz (35.78%) | |
409,654,319 stalled-cycles-frontend:u # 0.53% frontend cycles idle (35.82%) | |
221,105,037,852 instructions:u # 2.89 insn per cycle | |
# 0.00 stalled cycles per insn (35.88%) | |
59,004,018,569 branches:u # 4.095 G/sec (35.90%) | |
10,792,343 branch-misses:u # 0.02% of all branches (35.92%) | |
59,358,776,861 L1-dcache-loads:u # 4.120 G/sec (35.88%) | |
12,585,556,534 L1-dcache-load-misses:u # 21.20% of all L1-dcache accesses (35.82%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
121,456,185 L1-icache-loads:u # 8.430 M/sec (35.75%) | |
422,147 L1-icache-load-misses:u # 0.35% of all L1-icache accesses (35.76%) | |
1,035,242 dTLB-loads:u # 71.855 K/sec (35.73%) | |
14,149 dTLB-load-misses:u # 1.37% of all dTLB cache accesses (35.70%) | |
193 iTLB-loads:u # 13.396 /sec (35.68%) | |
803 iTLB-load-misses:u # 416.06% of all iTLB cache accesses (35.71%) | |
5,872,997,807 L1-dcache-prefetches:u # 407.637 M/sec (35.71%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.372301918 seconds time elapsed | |
40.958708000 seconds user | |
0.206542000 seconds sys | |
# JMH version: 1.36 | |
# VM version: JDK 21.0.4, OpenJDK 64-Bit Server VM, 21.0.4+7-LTS | |
# VM invoker: /home/nick/.jdks/azul-21.0.4/bin/java | |
# VM options: -Dfile.encoding=UTF-8 -Duser.country=GB -Duser.language=en -Duser.variant | |
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) | |
# Warmup: 5 iterations, 5 s each | |
# Measurement: 3 iterations, 5 s each | |
# Timeout: 10 min per iteration | |
# Threads: 1 thread, will synchronize iterations | |
# Benchmark mode: Sampling time | |
# Benchmark: uk.co.palmr.benchmarks.ForLoopBenchmark.integerListForI | |
# Run progress: 35.00% complete, ETA 00:43:46 | |
# Fork: 1 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 114.364 ±(99.9%) 0.338 us/op | |
# Warmup Iteration 2: 115.144 ±(99.9%) 0.063 us/op | |
# Warmup Iteration 3: 114.261 ±(99.9%) 0.037 us/op | |
# Warmup Iteration 4: 114.849 ±(99.9%) 0.068 us/op | |
# Warmup Iteration 5: 118.851 ±(99.9%) 0.070 us/op | |
Iteration 1: 118.644 ±(99.9%) 0.036 us/op | |
integerListForI·p0.00: 116.608 us/op | |
integerListForI·p0.50: 117.888 us/op | |
integerListForI·p0.90: 121.344 us/op | |
integerListForI·p0.95: 122.752 us/op | |
integerListForI·p0.99: 125.440 us/op | |
integerListForI·p0.999: 136.108 us/op | |
integerListForI·p0.9999: 182.958 us/op | |
integerListForI·p1.00: 272.384 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 2.239 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 119.042 ±(99.9%) 0.061 us/op | |
integerListForI·p0.00: 116.736 us/op | |
integerListForI·p0.50: 118.400 us/op | |
integerListForI·p0.90: 122.240 us/op | |
integerListForI·p0.95: 123.392 us/op | |
integerListForI·p0.99: 127.360 us/op | |
integerListForI·p0.999: 136.471 us/op | |
integerListForI·p0.9999: 212.174 us/op | |
integerListForI·p1.00: 677.888 us/op | |
·gc.alloc.rate: 0.024 MB/sec | |
·gc.alloc.rate.norm: 2.937 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 118.997 ±(99.9%) 0.071 us/op | |
integerListForI·p0.00: 116.608 us/op | |
integerListForI·p0.50: 118.400 us/op | |
integerListForI·p0.90: 121.984 us/op | |
integerListForI·p0.95: 123.264 us/op | |
integerListForI·p0.99: 126.208 us/op | |
integerListForI·p0.999: 137.472 us/op | |
integerListForI·p0.9999: 388.609 us/op | |
integerListForI·p1.00: 536.576 us/op | |
·gc.alloc.rate: 0.024 MB/sec | |
·gc.alloc.rate.norm: 2.941 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 36.00% complete, ETA 00:43:06 | |
# Fork: 2 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 118.328 ±(99.9%) 0.374 us/op | |
# Warmup Iteration 2: 118.037 ±(99.9%) 0.040 us/op | |
# Warmup Iteration 3: 114.690 ±(99.9%) 0.056 us/op | |
# Warmup Iteration 4: 118.063 ±(99.9%) 0.020 us/op | |
# Warmup Iteration 5: 118.139 ±(99.9%) 0.035 us/op | |
Iteration 1: 118.640 ±(99.9%) 0.069 us/op | |
integerListForI·p0.00: 116.608 us/op | |
integerListForI·p0.50: 117.760 us/op | |
integerListForI·p0.90: 121.088 us/op | |
integerListForI·p0.95: 122.752 us/op | |
integerListForI·p0.99: 125.184 us/op | |
integerListForI·p0.999: 133.376 us/op | |
integerListForI·p0.9999: 294.583 us/op | |
integerListForI·p1.00: 730.112 us/op | |
·gc.alloc.rate: 0.023 MB/sec | |
·gc.alloc.rate.norm: 2.920 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 118.726 ±(99.9%) 0.048 us/op | |
integerListForI·p0.00: 116.096 us/op | |
integerListForI·p0.50: 118.272 us/op | |
integerListForI·p0.90: 121.856 us/op | |
integerListForI·p0.95: 122.880 us/op | |
integerListForI·p0.99: 125.340 us/op | |
integerListForI·p0.999: 133.356 us/op | |
integerListForI·p0.9999: 173.478 us/op | |
integerListForI·p1.00: 585.728 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 2.232 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 118.735 ±(99.9%) 0.049 us/op | |
integerListForI·p0.00: 117.248 us/op | |
integerListForI·p0.50: 117.888 us/op | |
integerListForI·p0.90: 121.984 us/op | |
integerListForI·p0.95: 123.008 us/op | |
integerListForI·p0.99: 126.592 us/op | |
integerListForI·p0.999: 135.424 us/op | |
integerListForI·p0.9999: 166.434 us/op | |
integerListForI·p1.00: 458.752 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 2.236 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 37.00% complete, ETA 00:42:25 | |
# Fork: 3 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 118.315 ±(99.9%) 0.348 us/op | |
# Warmup Iteration 2: 118.463 ±(99.9%) 0.033 us/op | |
# Warmup Iteration 3: 118.554 ±(99.9%) 0.047 us/op | |
# Warmup Iteration 4: 118.476 ±(99.9%) 0.061 us/op | |
# Warmup Iteration 5: 118.837 ±(99.9%) 0.066 us/op | |
Iteration 1: 118.493 ±(99.9%) 0.050 us/op | |
integerListForI·p0.00: 112.128 us/op | |
integerListForI·p0.50: 118.144 us/op | |
integerListForI·p0.90: 121.856 us/op | |
integerListForI·p0.95: 123.136 us/op | |
integerListForI·p0.99: 128.000 us/op | |
integerListForI·p0.999: 149.504 us/op | |
integerListForI·p0.9999: 214.615 us/op | |
integerListForI·p1.00: 267.264 us/op | |
·gc.alloc.rate: 0.019 MB/sec | |
·gc.alloc.rate.norm: 2.308 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 117.597 ±(99.9%) 0.094 us/op | |
integerListForI·p0.00: 110.080 us/op | |
integerListForI·p0.50: 117.760 us/op | |
integerListForI·p0.90: 120.448 us/op | |
integerListForI·p0.95: 123.008 us/op | |
integerListForI·p0.99: 128.000 us/op | |
integerListForI·p0.999: 183.685 us/op | |
integerListForI·p0.9999: 412.440 us/op | |
integerListForI·p1.00: 502.784 us/op | |
·gc.alloc.rate: 0.019 MB/sec | |
·gc.alloc.rate.norm: 2.348 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 119.175 ±(99.9%) 0.050 us/op | |
integerListForI·p0.00: 117.248 us/op | |
integerListForI·p0.50: 118.400 us/op | |
integerListForI·p0.90: 122.368 us/op | |
integerListForI·p0.95: 123.776 us/op | |
integerListForI·p0.99: 127.872 us/op | |
integerListForI·p0.999: 137.472 us/op | |
integerListForI·p0.9999: 150.942 us/op | |
integerListForI·p1.00: 440.320 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 2.257 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 38.00% complete, ETA 00:41:45 | |
# Fork: 4 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 115.662 ±(99.9%) 0.349 us/op | |
# Warmup Iteration 2: 113.806 ±(99.9%) 0.037 us/op | |
# Warmup Iteration 3: 113.869 ±(99.9%) 0.047 us/op | |
# Warmup Iteration 4: 113.761 ±(99.9%) 0.027 us/op | |
# Warmup Iteration 5: 113.863 ±(99.9%) 0.035 us/op | |
Iteration 1: 114.997 ±(99.9%) 0.069 us/op | |
integerListForI·p0.00: 111.488 us/op | |
integerListForI·p0.50: 113.536 us/op | |
integerListForI·p0.90: 118.144 us/op | |
integerListForI·p0.95: 119.424 us/op | |
integerListForI·p0.99: 124.160 us/op | |
integerListForI·p0.999: 161.536 us/op | |
integerListForI·p0.9999: 258.590 us/op | |
integerListForI·p1.00: 575.488 us/op | |
·gc.alloc.rate: 0.024 MB/sec | |
·gc.alloc.rate.norm: 2.940 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 115.106 ±(99.9%) 0.063 us/op | |
integerListForI·p0.00: 109.568 us/op | |
integerListForI·p0.50: 113.664 us/op | |
integerListForI·p0.90: 118.400 us/op | |
integerListForI·p0.95: 120.192 us/op | |
integerListForI·p0.99: 124.544 us/op | |
integerListForI·p0.999: 161.280 us/op | |
integerListForI·p0.9999: 233.671 us/op | |
integerListForI·p1.00: 443.392 us/op | |
·gc.alloc.rate: 0.019 MB/sec | |
·gc.alloc.rate.norm: 2.273 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 117.740 ±(99.9%) 0.067 us/op | |
integerListForI·p0.00: 112.512 us/op | |
integerListForI·p0.50: 117.760 us/op | |
integerListForI·p0.90: 119.680 us/op | |
integerListForI·p0.95: 122.368 us/op | |
integerListForI·p0.99: 124.160 us/op | |
integerListForI·p0.999: 136.083 us/op | |
integerListForI·p0.9999: 186.048 us/op | |
integerListForI·p1.00: 610.304 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 2.259 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 39.00% complete, ETA 00:41:04 | |
# Fork: 5 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 118.291 ±(99.9%) 0.355 us/op | |
# Warmup Iteration 2: 118.049 ±(99.9%) 0.039 us/op | |
# Warmup Iteration 3: 118.204 ±(99.9%) 0.043 us/op | |
# Warmup Iteration 4: 118.091 ±(99.9%) 0.044 us/op | |
# Warmup Iteration 5: 118.200 ±(99.9%) 0.093 us/op | |
Iteration 1: 118.601 ±(99.9%) 0.065 us/op | |
integerListForI·p0.00: 116.736 us/op | |
integerListForI·p0.50: 117.888 us/op | |
integerListForI·p0.90: 120.960 us/op | |
integerListForI·p0.95: 122.605 us/op | |
integerListForI·p0.99: 124.416 us/op | |
integerListForI·p0.999: 133.888 us/op | |
integerListForI·p0.9999: 248.171 us/op | |
integerListForI·p1.00: 714.752 us/op | |
·gc.alloc.rate: 0.023 MB/sec | |
·gc.alloc.rate.norm: 2.905 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 118.632 ±(99.9%) 0.052 us/op | |
integerListForI·p0.00: 116.096 us/op | |
integerListForI·p0.50: 117.888 us/op | |
integerListForI·p0.90: 121.344 us/op | |
integerListForI·p0.95: 122.624 us/op | |
integerListForI·p0.99: 124.160 us/op | |
integerListForI·p0.999: 132.834 us/op | |
integerListForI·p0.9999: 240.820 us/op | |
integerListForI·p1.00: 621.568 us/op | |
·gc.alloc.rate: 0.023 MB/sec | |
·gc.alloc.rate.norm: 2.909 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 118.615 ±(99.9%) 0.050 us/op | |
integerListForI·p0.00: 116.096 us/op | |
integerListForI·p0.50: 117.888 us/op | |
integerListForI·p0.90: 121.344 us/op | |
integerListForI·p0.95: 122.624 us/op | |
integerListForI·p0.99: 124.032 us/op | |
integerListForI·p0.999: 132.096 us/op | |
integerListForI·p0.9999: 262.409 us/op | |
integerListForI·p1.00: 491.008 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 2.215 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
Result "uk.co.palmr.benchmarks.ForLoopBenchmark.integerListForI": | |
N = 634495 | |
mean = 118.102 ±(99.9%) 0.017 us/op | |
Histogram, us/op: | |
[100.000, 150.000) = 634136 | |
[150.000, 200.000) = 254 | |
[200.000, 250.000) = 42 | |
[250.000, 300.000) = 31 | |
[300.000, 350.000) = 5 | |
[350.000, 400.000) = 0 | |
[400.000, 450.000) = 11 | |
[450.000, 500.000) = 3 | |
[500.000, 550.000) = 5 | |
[550.000, 600.000) = 3 | |
[600.000, 650.000) = 2 | |
[650.000, 700.000) = 1 | |
[700.000, 750.000) = 2 | |
Percentiles, us/op: | |
p(0.0000) = 109.568 us/op | |
p(50.0000) = 117.888 us/op | |
p(90.0000) = 121.088 us/op | |
p(95.0000) = 122.752 us/op | |
p(99.0000) = 126.080 us/op | |
p(99.9000) = 140.544 us/op | |
p(99.9900) = 248.348 us/op | |
p(99.9990) = 590.423 us/op | |
p(99.9999) = 730.112 us/op | |
p(100.0000) = 730.112 us/op | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.integerListForI:·gc.alloc.rate": | |
0.020 ±(99.9%) 0.003 MB/sec [Average] | |
(min, avg, max) = (0.018, 0.020, 0.024), stdev = 0.003 | |
CI (99.9%): [0.017, 0.023] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.integerListForI:·gc.alloc.rate.norm": | |
2.528 ±(99.9%) 0.361 B/op [Average] | |
(min, avg, max) = (2.215, 2.528, 2.941), stdev = 0.337 | |
CI (99.9%): [2.167, 2.889] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.integerListForI:·gc.count": | |
≈ 0 counts | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.integerListForI:·perf": | |
Perf stats: | |
-------------------------------------------------- | |
14,399.13 msec task-clock:u # 1.002 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
922 page-faults:u # 64.032 /sec | |
76,036,380,083 cycles:u # 5.281 GHz (35.78%) | |
335,403,180 stalled-cycles-frontend:u # 0.44% frontend cycles idle (35.81%) | |
300,851,632,343 instructions:u # 3.96 insn per cycle | |
# 0.00 stalled cycles per insn (35.83%) | |
15,106,990,277 branches:u # 1.049 G/sec (35.86%) | |
18,032,422 branch-misses:u # 0.12% of all branches (35.96%) | |
120,574,343,529 L1-dcache-loads:u # 8.374 G/sec (35.84%) | |
7,547,063,608 L1-dcache-load-misses:u # 6.26% of all L1-dcache accesses (35.81%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
66,727,645 L1-icache-loads:u # 4.634 M/sec (35.76%) | |
24,640 L1-icache-load-misses:u # 0.04% of all L1-icache accesses (35.74%) | |
46,760 dTLB-loads:u # 3.247 K/sec (35.71%) | |
380 dTLB-load-misses:u # 0.81% of all dTLB cache accesses (35.70%) | |
112 iTLB-loads:u # 7.778 /sec (35.69%) | |
1,693 iTLB-load-misses:u # 1511.61% of all iTLB cache accesses (35.72%) | |
7,536,126,985 L1-dcache-prefetches:u # 523.374 M/sec (35.70%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.374733159 seconds time elapsed | |
40.957671000 seconds user | |
0.250346000 seconds sys | |
14,380.33 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
207 page-faults:u # 14.395 /sec | |
75,988,381,720 cycles:u # 5.284 GHz (35.80%) | |
358,537,049 stalled-cycles-frontend:u # 0.47% frontend cycles idle (35.86%) | |
300,773,313,597 instructions:u # 3.96 insn per cycle | |
# 0.00 stalled cycles per insn (35.87%) | |
15,084,244,813 branches:u # 1.049 G/sec (35.88%) | |
16,915,820 branch-misses:u # 0.11% of all branches (35.90%) | |
120,791,165,798 L1-dcache-loads:u # 8.400 G/sec (35.79%) | |
7,566,678,225 L1-dcache-load-misses:u # 6.26% of all L1-dcache accesses (35.74%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
61,533,024 L1-icache-loads:u # 4.279 M/sec (35.73%) | |
23,254 L1-icache-load-misses:u # 0.04% of all L1-icache accesses (35.73%) | |
37,942 dTLB-loads:u # 2.638 K/sec (35.72%) | |
10,184 dTLB-load-misses:u # 26.84% of all dTLB cache accesses (35.70%) | |
702 iTLB-loads:u # 48.817 /sec (35.70%) | |
1,126 iTLB-load-misses:u # 160.40% of all iTLB cache accesses (35.67%) | |
7,545,618,008 L1-dcache-prefetches:u # 524.718 M/sec (35.68%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.366153384 seconds time elapsed | |
40.947401000 seconds user | |
0.262003000 seconds sys | |
14,387.75 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
955 page-faults:u # 66.376 /sec | |
76,310,399,567 cycles:u # 5.304 GHz (35.79%) | |
341,981,309 stalled-cycles-frontend:u # 0.45% frontend cycles idle (35.85%) | |
301,758,135,819 instructions:u # 3.95 insn per cycle | |
# 0.00 stalled cycles per insn (35.91%) | |
15,153,789,298 branches:u # 1.053 G/sec (35.91%) | |
18,053,150 branch-misses:u # 0.12% of all branches (35.96%) | |
121,082,645,501 L1-dcache-loads:u # 8.416 G/sec (35.86%) | |
7,583,023,829 L1-dcache-load-misses:u # 6.26% of all L1-dcache accesses (35.81%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
66,836,838 L1-icache-loads:u # 4.645 M/sec (35.77%) | |
43,263 L1-icache-load-misses:u # 0.06% of all L1-icache accesses (35.74%) | |
114,882 dTLB-loads:u # 7.985 K/sec (35.68%) | |
15,107 dTLB-load-misses:u # 13.15% of all dTLB cache accesses (35.64%) | |
1,845 iTLB-loads:u # 128.234 /sec (35.66%) | |
2,355 iTLB-load-misses:u # 127.64% of all iTLB cache accesses (35.65%) | |
7,565,556,242 L1-dcache-prefetches:u # 525.833 M/sec (35.65%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.366784622 seconds time elapsed | |
41.056672000 seconds user | |
0.184369000 seconds sys | |
14,404.82 msec task-clock:u # 1.002 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
994 page-faults:u # 69.005 /sec | |
77,991,317,767 cycles:u # 5.414 GHz (35.77%) | |
353,921,886 stalled-cycles-frontend:u # 0.45% frontend cycles idle (35.80%) | |
308,357,420,387 instructions:u # 3.95 insn per cycle | |
# 0.00 stalled cycles per insn (35.83%) | |
15,494,247,769 branches:u # 1.076 G/sec (35.83%) | |
18,813,889 branch-misses:u # 0.12% of all branches (35.92%) | |
123,664,156,852 L1-dcache-loads:u # 8.585 G/sec (35.84%) | |
7,742,505,194 L1-dcache-load-misses:u # 6.26% of all L1-dcache accesses (35.80%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
66,172,551 L1-icache-loads:u # 4.594 M/sec (35.77%) | |
30,184 L1-icache-load-misses:u # 0.05% of all L1-icache accesses (35.78%) | |
53,187 dTLB-loads:u # 3.692 K/sec (35.74%) | |
1,868 dTLB-load-misses:u # 3.51% of all dTLB cache accesses (35.70%) | |
797 iTLB-loads:u # 55.329 /sec (35.72%) | |
2,009 iTLB-load-misses:u # 252.07% of all iTLB cache accesses (35.73%) | |
7,727,242,760 L1-dcache-prefetches:u # 536.435 M/sec (35.70%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.380661420 seconds time elapsed | |
41.020922000 seconds user | |
0.205091000 seconds sys | |
14,377.78 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
64 page-faults:u # 4.451 /sec | |
76,039,589,944 cycles:u # 5.289 GHz (35.75%) | |
346,224,096 stalled-cycles-frontend:u # 0.46% frontend cycles idle (35.88%) | |
300,908,308,222 instructions:u # 3.96 insn per cycle | |
# 0.00 stalled cycles per insn (35.87%) | |
15,089,419,210 branches:u # 1.049 G/sec (35.89%) | |
16,973,563 branch-misses:u # 0.11% of all branches (35.90%) | |
120,870,740,750 L1-dcache-loads:u # 8.407 G/sec (35.78%) | |
7,572,320,749 L1-dcache-load-misses:u # 6.26% of all L1-dcache accesses (35.73%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
61,489,911 L1-icache-loads:u # 4.277 M/sec (35.76%) | |
22,013 L1-icache-load-misses:u # 0.04% of all L1-icache accesses (35.75%) | |
43,776 dTLB-loads:u # 3.045 K/sec (35.73%) | |
10,104 dTLB-load-misses:u # 23.08% of all dTLB cache accesses (35.71%) | |
675 iTLB-loads:u # 46.947 /sec (35.70%) | |
759 iTLB-load-misses:u # 112.44% of all iTLB cache accesses (35.68%) | |
7,546,696,121 L1-dcache-prefetches:u # 524.886 M/sec (35.66%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.364627400 seconds time elapsed | |
41.031892000 seconds user | |
0.204178000 seconds sys | |
# JMH version: 1.36 | |
# VM version: JDK 21.0.4, OpenJDK 64-Bit Server VM, 21.0.4+7-LTS | |
# VM invoker: /home/nick/.jdks/azul-21.0.4/bin/java | |
# VM options: -Dfile.encoding=UTF-8 -Duser.country=GB -Duser.language=en -Duser.variant | |
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) | |
# Warmup: 5 iterations, 5 s each | |
# Measurement: 3 iterations, 5 s each | |
# Timeout: 10 min per iteration | |
# Threads: 1 thread, will synchronize iterations | |
# Benchmark mode: Sampling time | |
# Benchmark: uk.co.palmr.benchmarks.ForLoopBenchmark.integerListIteratorFor | |
# Run progress: 40.00% complete, ETA 00:40:24 | |
# Fork: 1 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 117.875 ±(99.9%) 0.371 us/op | |
# Warmup Iteration 2: 106.910 ±(99.9%) 0.132 us/op | |
# Warmup Iteration 3: 100.412 ±(99.9%) 0.023 us/op | |
# Warmup Iteration 4: 100.429 ±(99.9%) 0.031 us/op | |
# Warmup Iteration 5: 100.398 ±(99.9%) 0.020 us/op | |
Iteration 1: 101.962 ±(99.9%) 0.028 us/op | |
integerListIteratorFor·p0.00: 98.688 us/op | |
integerListIteratorFor·p0.50: 102.016 us/op | |
integerListIteratorFor·p0.90: 102.784 us/op | |
integerListIteratorFor·p0.95: 105.856 us/op | |
integerListIteratorFor·p0.99: 107.904 us/op | |
integerListIteratorFor·p0.999: 115.457 us/op | |
integerListIteratorFor·p0.9999: 126.733 us/op | |
integerListIteratorFor·p1.00: 198.400 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 1.332 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 100.693 ±(99.9%) 0.045 us/op | |
integerListIteratorFor·p0.00: 98.816 us/op | |
integerListIteratorFor·p0.50: 100.224 us/op | |
integerListIteratorFor·p0.90: 101.376 us/op | |
integerListIteratorFor·p0.95: 104.448 us/op | |
integerListIteratorFor·p0.99: 105.728 us/op | |
integerListIteratorFor·p0.999: 115.504 us/op | |
integerListIteratorFor·p0.9999: 248.083 us/op | |
integerListIteratorFor·p1.00: 535.552 us/op | |
·gc.alloc.rate: 0.023 MB/sec | |
·gc.alloc.rate.norm: 2.473 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 100.627 ±(99.9%) 0.031 us/op | |
integerListIteratorFor·p0.00: 98.688 us/op | |
integerListIteratorFor·p0.50: 100.224 us/op | |
integerListIteratorFor·p0.90: 100.736 us/op | |
integerListIteratorFor·p0.95: 104.064 us/op | |
integerListIteratorFor·p0.99: 105.600 us/op | |
integerListIteratorFor·p0.999: 114.988 us/op | |
integerListIteratorFor·p0.9999: 133.429 us/op | |
integerListIteratorFor·p1.00: 361.472 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 1.883 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 41.00% complete, ETA 00:39:43 | |
# Fork: 2 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 118.407 ±(99.9%) 0.371 us/op | |
# Warmup Iteration 2: 118.132 ±(99.9%) 0.032 us/op | |
# Warmup Iteration 3: 118.169 ±(99.9%) 0.029 us/op | |
# Warmup Iteration 4: 118.146 ±(99.9%) 0.035 us/op | |
# Warmup Iteration 5: 118.190 ±(99.9%) 0.026 us/op | |
Iteration 1: 118.547 ±(99.9%) 0.040 us/op | |
integerListIteratorFor·p0.00: 116.096 us/op | |
integerListIteratorFor·p0.50: 117.888 us/op | |
integerListIteratorFor·p0.90: 120.960 us/op | |
integerListIteratorFor·p0.95: 122.496 us/op | |
integerListIteratorFor·p0.99: 123.904 us/op | |
integerListIteratorFor·p0.999: 133.632 us/op | |
integerListIteratorFor·p0.9999: 193.812 us/op | |
integerListIteratorFor·p1.00: 412.672 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 2.216 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 118.688 ±(99.9%) 0.043 us/op | |
integerListIteratorFor·p0.00: 117.248 us/op | |
integerListIteratorFor·p0.50: 117.888 us/op | |
integerListIteratorFor·p0.90: 121.344 us/op | |
integerListIteratorFor·p0.95: 122.752 us/op | |
integerListIteratorFor·p0.99: 125.312 us/op | |
integerListIteratorFor·p0.999: 135.143 us/op | |
integerListIteratorFor·p0.9999: 238.515 us/op | |
integerListIteratorFor·p1.00: 439.296 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 2.233 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 118.668 ±(99.9%) 0.043 us/op | |
integerListIteratorFor·p0.00: 117.248 us/op | |
integerListIteratorFor·p0.50: 117.888 us/op | |
integerListIteratorFor·p0.90: 121.344 us/op | |
integerListIteratorFor·p0.95: 122.752 us/op | |
integerListIteratorFor·p0.99: 125.568 us/op | |
integerListIteratorFor·p0.999: 135.653 us/op | |
integerListIteratorFor·p0.9999: 174.906 us/op | |
integerListIteratorFor·p1.00: 444.928 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 2.228 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 42.00% complete, ETA 00:39:03 | |
# Fork: 3 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 114.844 ±(99.9%) 0.370 us/op | |
# Warmup Iteration 2: 113.726 ±(99.9%) 0.043 us/op | |
# Warmup Iteration 3: 118.129 ±(99.9%) 0.029 us/op | |
# Warmup Iteration 4: 118.056 ±(99.9%) 0.018 us/op | |
# Warmup Iteration 5: 118.073 ±(99.9%) 0.017 us/op | |
Iteration 1: 118.442 ±(99.9%) 0.035 us/op | |
integerListIteratorFor·p0.00: 116.224 us/op | |
integerListIteratorFor·p0.50: 117.888 us/op | |
integerListIteratorFor·p0.90: 120.320 us/op | |
integerListIteratorFor·p0.95: 122.368 us/op | |
integerListIteratorFor·p0.99: 123.776 us/op | |
integerListIteratorFor·p0.999: 132.864 us/op | |
integerListIteratorFor·p0.9999: 148.913 us/op | |
integerListIteratorFor·p1.00: 413.696 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 2.210 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 118.565 ±(99.9%) 0.049 us/op | |
integerListIteratorFor·p0.00: 117.248 us/op | |
integerListIteratorFor·p0.50: 117.888 us/op | |
integerListIteratorFor·p0.90: 120.832 us/op | |
integerListIteratorFor·p0.95: 122.624 us/op | |
integerListIteratorFor·p0.99: 124.032 us/op | |
integerListIteratorFor·p0.999: 135.424 us/op | |
integerListIteratorFor·p0.9999: 222.464 us/op | |
integerListIteratorFor·p1.00: 419.840 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 2.225 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 118.603 ±(99.9%) 0.040 us/op | |
integerListIteratorFor·p0.00: 117.760 us/op | |
integerListIteratorFor·p0.50: 117.888 us/op | |
integerListIteratorFor·p0.90: 121.088 us/op | |
integerListIteratorFor·p0.95: 122.624 us/op | |
integerListIteratorFor·p0.99: 124.125 us/op | |
integerListIteratorFor·p0.999: 136.448 us/op | |
integerListIteratorFor·p0.9999: 218.031 us/op | |
integerListIteratorFor·p1.00: 410.112 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 2.220 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 43.00% complete, ETA 00:38:23 | |
# Fork: 4 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 115.017 ±(99.9%) 0.351 us/op | |
# Warmup Iteration 2: 113.864 ±(99.9%) 0.041 us/op | |
# Warmup Iteration 3: 114.072 ±(99.9%) 0.045 us/op | |
# Warmup Iteration 4: 115.335 ±(99.9%) 0.054 us/op | |
# Warmup Iteration 5: 118.154 ±(99.9%) 0.026 us/op | |
Iteration 1: 119.133 ±(99.9%) 0.034 us/op | |
integerListIteratorFor·p0.00: 116.736 us/op | |
integerListIteratorFor·p0.50: 118.400 us/op | |
integerListIteratorFor·p0.90: 121.088 us/op | |
integerListIteratorFor·p0.95: 123.264 us/op | |
integerListIteratorFor·p0.99: 125.440 us/op | |
integerListIteratorFor·p0.999: 134.400 us/op | |
integerListIteratorFor·p0.9999: 150.941 us/op | |
integerListIteratorFor·p1.00: 291.328 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 2.237 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 118.552 ±(99.9%) 0.060 us/op | |
integerListIteratorFor·p0.00: 116.736 us/op | |
integerListIteratorFor·p0.50: 117.888 us/op | |
integerListIteratorFor·p0.90: 120.960 us/op | |
integerListIteratorFor·p0.95: 122.624 us/op | |
integerListIteratorFor·p0.99: 123.776 us/op | |
integerListIteratorFor·p0.999: 138.459 us/op | |
integerListIteratorFor·p0.9999: 252.269 us/op | |
integerListIteratorFor·p1.00: 688.128 us/op | |
·gc.alloc.rate: 0.023 MB/sec | |
·gc.alloc.rate.norm: 2.911 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 118.508 ±(99.9%) 0.040 us/op | |
integerListIteratorFor·p0.00: 117.248 us/op | |
integerListIteratorFor·p0.50: 117.888 us/op | |
integerListIteratorFor·p0.90: 120.960 us/op | |
integerListIteratorFor·p0.95: 122.624 us/op | |
integerListIteratorFor·p0.99: 123.776 us/op | |
integerListIteratorFor·p0.999: 132.096 us/op | |
integerListIteratorFor·p0.9999: 202.098 us/op | |
integerListIteratorFor·p1.00: 409.088 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 2.208 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 44.00% complete, ETA 00:37:42 | |
# Fork: 5 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 114.466 ±(99.9%) 0.354 us/op | |
# Warmup Iteration 2: 104.923 ±(99.9%) 0.109 us/op | |
# Warmup Iteration 3: 96.432 ±(99.9%) 0.032 us/op | |
# Warmup Iteration 4: 96.458 ±(99.9%) 0.030 us/op | |
# Warmup Iteration 5: 96.466 ±(99.9%) 0.024 us/op | |
Iteration 1: 97.513 ±(99.9%) 0.040 us/op | |
integerListIteratorFor·p0.00: 95.104 us/op | |
integerListIteratorFor·p0.50: 96.512 us/op | |
integerListIteratorFor·p0.90: 99.712 us/op | |
integerListIteratorFor·p0.95: 101.504 us/op | |
integerListIteratorFor·p0.99: 104.960 us/op | |
integerListIteratorFor·p0.999: 114.147 us/op | |
integerListIteratorFor·p0.9999: 182.627 us/op | |
integerListIteratorFor·p1.00: 411.136 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 1.869 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 97.007 ±(99.9%) 0.035 us/op | |
integerListIteratorFor·p0.00: 94.848 us/op | |
integerListIteratorFor·p0.50: 96.512 us/op | |
integerListIteratorFor·p0.90: 99.840 us/op | |
integerListIteratorFor·p0.95: 101.120 us/op | |
integerListIteratorFor·p0.99: 104.448 us/op | |
integerListIteratorFor·p0.999: 114.241 us/op | |
integerListIteratorFor·p0.9999: 169.896 us/op | |
integerListIteratorFor·p1.00: 265.728 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 1.854 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 96.971 ±(99.9%) 0.030 us/op | |
integerListIteratorFor·p0.00: 96.000 us/op | |
integerListIteratorFor·p0.50: 96.512 us/op | |
integerListIteratorFor·p0.90: 99.712 us/op | |
integerListIteratorFor·p0.95: 100.992 us/op | |
integerListIteratorFor·p0.99: 103.552 us/op | |
integerListIteratorFor·p0.999: 115.518 us/op | |
integerListIteratorFor·p0.9999: 144.455 us/op | |
integerListIteratorFor·p1.00: 245.760 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 1.286 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
Result "uk.co.palmr.benchmarks.ForLoopBenchmark.integerListIteratorFor": | |
N = 681529 | |
mean = 109.958 ±(99.9%) 0.040 us/op | |
Histogram, us/op: | |
[ 0.000, 50.000) = 0 | |
[ 50.000, 100.000) = 141273 | |
[100.000, 150.000) = 540143 | |
[150.000, 200.000) = 52 | |
[200.000, 250.000) = 30 | |
[250.000, 300.000) = 18 | |
[300.000, 350.000) = 0 | |
[350.000, 400.000) = 3 | |
[400.000, 450.000) = 8 | |
[450.000, 500.000) = 0 | |
[500.000, 550.000) = 1 | |
[550.000, 600.000) = 0 | |
[600.000, 650.000) = 0 | |
Percentiles, us/op: | |
p(0.0000) = 94.848 us/op | |
p(50.0000) = 117.760 us/op | |
p(90.0000) = 118.656 us/op | |
p(95.0000) = 121.344 us/op | |
p(99.0000) = 123.648 us/op | |
p(99.9000) = 131.328 us/op | |
p(99.9900) = 190.169 us/op | |
p(99.9990) = 412.861 us/op | |
p(99.9999) = 688.128 us/op | |
p(100.0000) = 688.128 us/op | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.integerListIteratorFor:·gc.alloc.rate": | |
0.018 ±(99.9%) 0.003 MB/sec [Average] | |
(min, avg, max) = (0.012, 0.018, 0.023), stdev = 0.003 | |
CI (99.9%): [0.015, 0.021] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.integerListIteratorFor:·gc.alloc.rate.norm": | |
2.092 ±(99.9%) 0.436 B/op [Average] | |
(min, avg, max) = (1.286, 2.092, 2.911), stdev = 0.408 | |
CI (99.9%): [1.656, 2.528] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.integerListIteratorFor:·gc.count": | |
≈ 0 counts | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.integerListIteratorFor:·perf": | |
Perf stats: | |
-------------------------------------------------- | |
14,392.86 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
63 page-faults:u # 4.377 /sec | |
75,258,544,265 cycles:u # 5.229 GHz (35.78%) | |
636,273,189 stalled-cycles-frontend:u # 0.85% frontend cycles idle (35.81%) | |
424,841,344,451 instructions:u # 5.65 insn per cycle | |
# 0.00 stalled cycles per insn (35.84%) | |
35,394,851,721 branches:u # 2.459 G/sec (35.92%) | |
37,189,165 branch-misses:u # 0.11% of all branches (35.93%) | |
142,167,970,916 L1-dcache-loads:u # 9.878 G/sec (35.75%) | |
8,878,177,777 L1-dcache-load-misses:u # 6.24% of all L1-dcache accesses (35.73%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
53,391,900 L1-icache-loads:u # 3.710 M/sec (35.76%) | |
22,716 L1-icache-load-misses:u # 0.04% of all L1-icache accesses (35.75%) | |
34,210 dTLB-loads:u # 2.377 K/sec (35.74%) | |
156 dTLB-load-misses:u # 0.46% of all dTLB cache accesses (35.73%) | |
593 iTLB-loads:u # 41.201 /sec (35.72%) | |
661 iTLB-load-misses:u # 111.47% of all iTLB cache accesses (35.68%) | |
8,868,399,156 L1-dcache-prefetches:u # 616.167 M/sec (35.67%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.377155174 seconds time elapsed | |
41.080623000 seconds user | |
0.144234000 seconds sys | |
14,391.52 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
85 page-faults:u # 5.906 /sec | |
76,164,585,917 cycles:u # 5.292 GHz (35.81%) | |
335,083,366 stalled-cycles-frontend:u # 0.44% frontend cycles idle (35.84%) | |
301,575,508,679 instructions:u # 3.96 insn per cycle | |
# 0.00 stalled cycles per insn (35.85%) | |
15,126,422,278 branches:u # 1.051 G/sec (35.84%) | |
17,057,900 branch-misses:u # 0.11% of all branches (35.85%) | |
121,107,681,981 L1-dcache-loads:u # 8.415 G/sec (35.71%) | |
7,594,984,289 L1-dcache-load-misses:u # 6.27% of all L1-dcache accesses (35.68%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
64,188,568 L1-icache-loads:u # 4.460 M/sec (35.75%) | |
52,588 L1-icache-load-misses:u # 0.08% of all L1-icache accesses (35.76%) | |
25,422 dTLB-loads:u # 1.766 K/sec (35.75%) | |
190 dTLB-load-misses:u # 0.75% of all dTLB cache accesses (35.74%) | |
22 iTLB-loads:u # 1.529 /sec (35.74%) | |
81 iTLB-load-misses:u # 368.18% of all iTLB cache accesses (35.73%) | |
7,547,497,638 L1-dcache-prefetches:u # 524.441 M/sec (35.71%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.376979356 seconds time elapsed | |
40.940817000 seconds user | |
0.260590000 seconds sys | |
14,393.94 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
82 page-faults:u # 5.697 /sec | |
76,208,794,477 cycles:u # 5.295 GHz (35.81%) | |
349,170,531 stalled-cycles-frontend:u # 0.46% frontend cycles idle (35.85%) | |
301,625,617,668 instructions:u # 3.96 insn per cycle | |
# 0.00 stalled cycles per insn (35.85%) | |
15,132,111,949 branches:u # 1.051 G/sec (35.85%) | |
17,316,713 branch-misses:u # 0.11% of all branches (35.86%) | |
121,204,671,829 L1-dcache-loads:u # 8.421 G/sec (35.71%) | |
7,602,509,531 L1-dcache-load-misses:u # 6.27% of all L1-dcache accesses (35.68%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
68,986,935 L1-icache-loads:u # 4.793 M/sec (35.75%) | |
62,268 L1-icache-load-misses:u # 0.09% of all L1-icache accesses (35.76%) | |
14,116 dTLB-loads:u # 980.690 /sec (35.75%) | |
125 dTLB-load-misses:u # 0.89% of all dTLB cache accesses (35.75%) | |
16 iTLB-loads:u # 1.112 /sec (35.74%) | |
75 iTLB-load-misses:u # 468.75% of all iTLB cache accesses (35.73%) | |
7,554,298,803 L1-dcache-prefetches:u # 524.825 M/sec (35.71%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.376665861 seconds time elapsed | |
41.040599000 seconds user | |
0.152385000 seconds sys | |
14,393.91 msec task-clock:u # 1.000 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
204 page-faults:u # 14.173 /sec | |
76,191,798,199 cycles:u # 5.293 GHz (35.80%) | |
353,346,172 stalled-cycles-frontend:u # 0.46% frontend cycles idle (35.83%) | |
301,117,609,268 instructions:u # 3.95 insn per cycle | |
# 0.00 stalled cycles per insn (35.84%) | |
15,106,134,395 branches:u # 1.049 G/sec (35.84%) | |
16,869,538 branch-misses:u # 0.11% of all branches (35.85%) | |
120,933,317,545 L1-dcache-loads:u # 8.402 G/sec (35.73%) | |
7,574,407,587 L1-dcache-load-misses:u # 6.26% of all L1-dcache accesses (35.76%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
63,941,028 L1-icache-loads:u # 4.442 M/sec (35.74%) | |
88,818 L1-icache-load-misses:u # 0.14% of all L1-icache accesses (35.74%) | |
24,465 dTLB-loads:u # 1.700 K/sec (35.75%) | |
153 dTLB-load-misses:u # 0.63% of all dTLB cache accesses (35.74%) | |
27 iTLB-loads:u # 1.876 /sec (35.75%) | |
61 iTLB-load-misses:u # 225.93% of all iTLB cache accesses (35.74%) | |
7,544,678,751 L1-dcache-prefetches:u # 524.158 M/sec (35.71%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.387785670 seconds time elapsed | |
41.032905000 seconds user | |
0.208944000 seconds sys | |
14,389.52 msec task-clock:u # 1.002 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
693 page-faults:u # 48.160 /sec | |
78,175,045,630 cycles:u # 5.433 GHz (35.73%) | |
592,196,182 stalled-cycles-frontend:u # 0.76% frontend cycles idle (35.79%) | |
441,642,762,591 instructions:u # 5.65 insn per cycle | |
# 0.00 stalled cycles per insn (35.83%) | |
36,814,641,701 branches:u # 2.558 G/sec (35.91%) | |
39,461,085 branch-misses:u # 0.11% of all branches (35.92%) | |
147,609,158,690 L1-dcache-loads:u # 10.258 G/sec (35.81%) | |
9,224,792,930 L1-dcache-load-misses:u # 6.25% of all L1-dcache accesses (35.76%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
59,021,999 L1-icache-loads:u # 4.102 M/sec (35.75%) | |
4,556 L1-icache-load-misses:u # 0.01% of all L1-icache accesses (35.75%) | |
38,513 dTLB-loads:u # 2.676 K/sec (35.76%) | |
7,362 dTLB-load-misses:u # 19.12% of all dTLB cache accesses (35.75%) | |
1,049 iTLB-loads:u # 72.900 /sec (35.73%) | |
1,202 iTLB-load-misses:u # 114.59% of all iTLB cache accesses (35.68%) | |
9,218,779,732 L1-dcache-prefetches:u # 640.659 M/sec (35.65%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.367632161 seconds time elapsed | |
41.032408000 seconds user | |
0.197459000 seconds sys | |
# JMH version: 1.36 | |
# VM version: JDK 21.0.4, OpenJDK 64-Bit Server VM, 21.0.4+7-LTS | |
# VM invoker: /home/nick/.jdks/azul-21.0.4/bin/java | |
# VM options: -Dfile.encoding=UTF-8 -Duser.country=GB -Duser.language=en -Duser.variant | |
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) | |
# Warmup: 5 iterations, 5 s each | |
# Measurement: 3 iterations, 5 s each | |
# Timeout: 10 min per iteration | |
# Threads: 1 thread, will synchronize iterations | |
# Benchmark mode: Sampling time | |
# Benchmark: uk.co.palmr.benchmarks.ForLoopBenchmark.integerListIteratorWhile | |
# Run progress: 45.00% complete, ETA 00:37:02 | |
# Fork: 1 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 113.941 ±(99.9%) 0.341 us/op | |
# Warmup Iteration 2: 102.071 ±(99.9%) 0.122 us/op | |
# Warmup Iteration 3: 96.760 ±(99.9%) 0.024 us/op | |
# Warmup Iteration 4: 96.536 ±(99.9%) 0.020 us/op | |
# Warmup Iteration 5: 96.810 ±(99.9%) 0.033 us/op | |
Iteration 1: 100.530 ±(99.9%) 0.032 us/op | |
integerListIteratorWhile·p0.00: 98.816 us/op | |
integerListIteratorWhile·p0.50: 100.224 us/op | |
integerListIteratorWhile·p0.90: 100.608 us/op | |
integerListIteratorWhile·p0.95: 103.808 us/op | |
integerListIteratorWhile·p0.99: 105.600 us/op | |
integerListIteratorWhile·p0.999: 115.968 us/op | |
integerListIteratorWhile·p0.9999: 162.692 us/op | |
integerListIteratorWhile·p1.00: 398.336 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 1.886 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 100.613 ±(99.9%) 0.040 us/op | |
integerListIteratorWhile·p0.00: 98.688 us/op | |
integerListIteratorWhile·p0.50: 100.224 us/op | |
integerListIteratorWhile·p0.90: 100.864 us/op | |
integerListIteratorWhile·p0.95: 103.936 us/op | |
integerListIteratorWhile·p0.99: 105.728 us/op | |
integerListIteratorWhile·p0.999: 114.604 us/op | |
integerListIteratorWhile·p0.9999: 157.592 us/op | |
integerListIteratorWhile·p1.00: 540.672 us/op | |
·gc.alloc.rate: 0.023 MB/sec | |
·gc.alloc.rate.norm: 2.464 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 100.614 ±(99.9%) 0.043 us/op | |
integerListIteratorWhile·p0.00: 99.072 us/op | |
integerListIteratorWhile·p0.50: 100.224 us/op | |
integerListIteratorWhile·p0.90: 100.736 us/op | |
integerListIteratorWhile·p0.95: 103.936 us/op | |
integerListIteratorWhile·p0.99: 105.600 us/op | |
integerListIteratorWhile·p0.999: 114.944 us/op | |
integerListIteratorWhile·p0.9999: 248.911 us/op | |
integerListIteratorWhile·p1.00: 419.328 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 1.885 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 46.00% complete, ETA 00:36:21 | |
# Fork: 2 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 114.719 ±(99.9%) 0.343 us/op | |
# Warmup Iteration 2: 103.000 ±(99.9%) 0.128 us/op | |
# Warmup Iteration 3: 96.414 ±(99.9%) 0.027 us/op | |
# Warmup Iteration 4: 96.407 ±(99.9%) 0.023 us/op | |
# Warmup Iteration 5: 96.400 ±(99.9%) 0.025 us/op | |
Iteration 1: 96.797 ±(99.9%) 0.028 us/op | |
integerListIteratorWhile·p0.00: 95.104 us/op | |
integerListIteratorWhile·p0.50: 96.128 us/op | |
integerListIteratorWhile·p0.90: 99.456 us/op | |
integerListIteratorWhile·p0.95: 100.736 us/op | |
integerListIteratorWhile·p0.99: 102.912 us/op | |
integerListIteratorWhile·p0.999: 110.208 us/op | |
integerListIteratorWhile·p0.9999: 136.938 us/op | |
integerListIteratorWhile·p1.00: 244.736 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 1.260 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 96.860 ±(99.9%) 0.045 us/op | |
integerListIteratorWhile·p0.00: 95.616 us/op | |
integerListIteratorWhile·p0.50: 96.256 us/op | |
integerListIteratorWhile·p0.90: 99.584 us/op | |
integerListIteratorWhile·p0.95: 100.736 us/op | |
integerListIteratorWhile·p0.99: 103.040 us/op | |
integerListIteratorWhile·p0.999: 111.543 us/op | |
integerListIteratorWhile·p0.9999: 139.710 us/op | |
integerListIteratorWhile·p1.00: 539.648 us/op | |
·gc.alloc.rate: 0.023 MB/sec | |
·gc.alloc.rate.norm: 2.385 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 96.916 ±(99.9%) 0.042 us/op | |
integerListIteratorWhile·p0.00: 95.104 us/op | |
integerListIteratorWhile·p0.50: 96.512 us/op | |
integerListIteratorWhile·p0.90: 99.712 us/op | |
integerListIteratorWhile·p0.95: 100.864 us/op | |
integerListIteratorWhile·p0.99: 103.296 us/op | |
integerListIteratorWhile·p0.999: 111.162 us/op | |
integerListIteratorWhile·p0.9999: 134.043 us/op | |
integerListIteratorWhile·p1.00: 576.512 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 1.827 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 47.00% complete, ETA 00:35:41 | |
# Fork: 3 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 118.390 ±(99.9%) 0.393 us/op | |
# Warmup Iteration 2: 106.852 ±(99.9%) 0.133 us/op | |
# Warmup Iteration 3: 100.237 ±(99.9%) 0.024 us/op | |
# Warmup Iteration 4: 100.306 ±(99.9%) 0.027 us/op | |
# Warmup Iteration 5: 100.521 ±(99.9%) 0.034 us/op | |
Iteration 1: 102.212 ±(99.9%) 0.029 us/op | |
integerListIteratorWhile·p0.00: 98.688 us/op | |
integerListIteratorWhile·p0.50: 102.016 us/op | |
integerListIteratorWhile·p0.90: 102.912 us/op | |
integerListIteratorWhile·p0.95: 106.240 us/op | |
integerListIteratorWhile·p0.99: 108.032 us/op | |
integerListIteratorWhile·p0.999: 114.448 us/op | |
integerListIteratorWhile·p0.9999: 144.362 us/op | |
integerListIteratorWhile·p1.00: 258.048 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 1.330 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 100.790 ±(99.9%) 0.034 us/op | |
integerListIteratorWhile·p0.00: 99.712 us/op | |
integerListIteratorWhile·p0.50: 100.224 us/op | |
integerListIteratorWhile·p0.90: 102.144 us/op | |
integerListIteratorWhile·p0.95: 104.192 us/op | |
integerListIteratorWhile·p0.99: 106.112 us/op | |
integerListIteratorWhile·p0.999: 115.072 us/op | |
integerListIteratorWhile·p0.9999: 156.718 us/op | |
integerListIteratorWhile·p1.00: 402.944 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 1.892 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 101.613 ±(99.9%) 0.039 us/op | |
integerListIteratorWhile·p0.00: 98.816 us/op | |
integerListIteratorWhile·p0.50: 101.632 us/op | |
integerListIteratorWhile·p0.90: 102.656 us/op | |
integerListIteratorWhile·p0.95: 105.216 us/op | |
integerListIteratorWhile·p0.99: 107.648 us/op | |
integerListIteratorWhile·p0.999: 114.048 us/op | |
integerListIteratorWhile·p0.9999: 165.736 us/op | |
integerListIteratorWhile·p1.00: 412.672 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 1.911 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 48.00% complete, ETA 00:35:01 | |
# Fork: 4 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 114.038 ±(99.9%) 0.338 us/op | |
# Warmup Iteration 2: 114.325 ±(99.9%) 0.040 us/op | |
# Warmup Iteration 3: 118.257 ±(99.9%) 0.026 us/op | |
# Warmup Iteration 4: 118.227 ±(99.9%) 0.025 us/op | |
# Warmup Iteration 5: 118.149 ±(99.9%) 0.021 us/op | |
Iteration 1: 118.527 ±(99.9%) 0.029 us/op | |
integerListIteratorWhile·p0.00: 116.736 us/op | |
integerListIteratorWhile·p0.50: 117.888 us/op | |
integerListIteratorWhile·p0.90: 120.960 us/op | |
integerListIteratorWhile·p0.95: 122.496 us/op | |
integerListIteratorWhile·p0.99: 124.160 us/op | |
integerListIteratorWhile·p0.999: 134.105 us/op | |
integerListIteratorWhile·p0.9999: 148.551 us/op | |
integerListIteratorWhile·p1.00: 209.920 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 1.538 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 118.555 ±(99.9%) 0.038 us/op | |
integerListIteratorWhile·p0.00: 117.760 us/op | |
integerListIteratorWhile·p0.50: 117.888 us/op | |
integerListIteratorWhile·p0.90: 120.960 us/op | |
integerListIteratorWhile·p0.95: 122.624 us/op | |
integerListIteratorWhile·p0.99: 124.160 us/op | |
integerListIteratorWhile·p0.999: 134.912 us/op | |
integerListIteratorWhile·p0.9999: 217.033 us/op | |
integerListIteratorWhile·p1.00: 223.744 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 1.544 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 118.582 ±(99.9%) 0.032 us/op | |
integerListIteratorWhile·p0.00: 117.248 us/op | |
integerListIteratorWhile·p0.50: 117.888 us/op | |
integerListIteratorWhile·p0.90: 121.088 us/op | |
integerListIteratorWhile·p0.95: 122.752 us/op | |
integerListIteratorWhile·p0.99: 124.928 us/op | |
integerListIteratorWhile·p0.999: 135.168 us/op | |
integerListIteratorWhile·p0.9999: 154.064 us/op | |
integerListIteratorWhile·p1.00: 241.408 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 1.537 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 49.00% complete, ETA 00:34:20 | |
# Fork: 5 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 113.933 ±(99.9%) 0.349 us/op | |
# Warmup Iteration 2: 113.600 ±(99.9%) 0.038 us/op | |
# Warmup Iteration 3: 113.813 ±(99.9%) 0.037 us/op | |
# Warmup Iteration 4: 118.423 ±(99.9%) 0.047 us/op | |
# Warmup Iteration 5: 118.214 ±(99.9%) 0.051 us/op | |
Iteration 1: 118.624 ±(99.9%) 0.052 us/op | |
integerListIteratorWhile·p0.00: 116.736 us/op | |
integerListIteratorWhile·p0.50: 117.888 us/op | |
integerListIteratorWhile·p0.90: 120.960 us/op | |
integerListIteratorWhile·p0.95: 122.624 us/op | |
integerListIteratorWhile·p0.99: 124.544 us/op | |
integerListIteratorWhile·p0.999: 134.369 us/op | |
integerListIteratorWhile·p0.9999: 280.437 us/op | |
integerListIteratorWhile·p1.00: 436.224 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 2.234 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 118.598 ±(99.9%) 0.052 us/op | |
integerListIteratorWhile·p0.00: 117.248 us/op | |
integerListIteratorWhile·p0.50: 117.888 us/op | |
integerListIteratorWhile·p0.90: 121.088 us/op | |
integerListIteratorWhile·p0.95: 122.752 us/op | |
integerListIteratorWhile·p0.99: 124.160 us/op | |
integerListIteratorWhile·p0.999: 134.111 us/op | |
integerListIteratorWhile·p0.9999: 228.468 us/op | |
integerListIteratorWhile·p1.00: 561.152 us/op | |
·gc.alloc.rate: 0.023 MB/sec | |
·gc.alloc.rate.norm: 2.900 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 118.601 ±(99.9%) 0.048 us/op | |
integerListIteratorWhile·p0.00: 116.736 us/op | |
integerListIteratorWhile·p0.50: 117.888 us/op | |
integerListIteratorWhile·p0.90: 121.088 us/op | |
integerListIteratorWhile·p0.95: 122.752 us/op | |
integerListIteratorWhile·p0.99: 124.160 us/op | |
integerListIteratorWhile·p0.999: 135.135 us/op | |
integerListIteratorWhile·p0.9999: 229.520 us/op | |
integerListIteratorWhile·p1.00: 514.560 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 2.227 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
Result "uk.co.palmr.benchmarks.ForLoopBenchmark.integerListIteratorWhile": | |
N = 704144 | |
mean = 106.426 ±(99.9%) 0.038 us/op | |
Histogram, us/op: | |
[ 0.000, 50.000) = 0 | |
[ 50.000, 100.000) = 150425 | |
[100.000, 150.000) = 553613 | |
[150.000, 200.000) = 47 | |
[200.000, 250.000) = 31 | |
[250.000, 300.000) = 11 | |
[300.000, 350.000) = 2 | |
[350.000, 400.000) = 3 | |
[400.000, 450.000) = 7 | |
[450.000, 500.000) = 0 | |
[500.000, 550.000) = 3 | |
Percentiles, us/op: | |
p(0.0000) = 95.104 us/op | |
p(50.0000) = 100.992 us/op | |
p(90.0000) = 118.400 us/op | |
p(95.0000) = 119.552 us/op | |
p(99.0000) = 123.136 us/op | |
p(99.9000) = 129.024 us/op | |
p(99.9900) = 180.205 us/op | |
p(99.9990) = 419.286 us/op | |
p(99.9999) = 576.512 us/op | |
p(100.0000) = 576.512 us/op | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.integerListIteratorWhile:·gc.alloc.rate": | |
0.017 ±(99.9%) 0.004 MB/sec [Average] | |
(min, avg, max) = (0.012, 0.017, 0.023), stdev = 0.004 | |
CI (99.9%): [0.013, 0.022] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.integerListIteratorWhile:·gc.alloc.rate.norm": | |
1.921 ±(99.9%) 0.486 B/op [Average] | |
(min, avg, max) = (1.260, 1.921, 2.900), stdev = 0.455 | |
CI (99.9%): [1.435, 2.407] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.integerListIteratorWhile:·gc.count": | |
≈ 0 counts | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.integerListIteratorWhile:·perf": | |
Perf stats: | |
-------------------------------------------------- | |
14,393.46 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
63 page-faults:u # 4.377 /sec | |
75,313,256,500 cycles:u # 5.232 GHz (35.80%) | |
550,608,548 stalled-cycles-frontend:u # 0.73% frontend cycles idle (35.83%) | |
427,321,858,765 instructions:u # 5.67 insn per cycle | |
# 0.00 stalled cycles per insn (35.83%) | |
35,659,673,605 branches:u # 2.477 G/sec (35.84%) | |
37,389,326 branch-misses:u # 0.10% of all branches (35.84%) | |
143,078,170,267 L1-dcache-loads:u # 9.940 G/sec (35.70%) | |
8,931,671,716 L1-dcache-load-misses:u # 6.24% of all L1-dcache accesses (35.68%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
53,452,741 L1-icache-loads:u # 3.714 M/sec (35.78%) | |
6,669 L1-icache-load-misses:u # 0.01% of all L1-icache accesses (35.77%) | |
12,208 dTLB-loads:u # 848.163 /sec (35.77%) | |
170 dTLB-load-misses:u # 1.39% of all dTLB cache accesses (35.76%) | |
19 iTLB-loads:u # 1.320 /sec (35.75%) | |
61 iTLB-load-misses:u # 321.05% of all iTLB cache accesses (35.72%) | |
8,913,380,466 L1-dcache-prefetches:u # 619.266 M/sec (35.71%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.379994237 seconds time elapsed | |
41.117409000 seconds user | |
0.154188000 seconds sys | |
14,398.60 msec task-clock:u # 1.000 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
180 page-faults:u # 12.501 /sec | |
78,293,433,800 cycles:u # 5.438 GHz (35.80%) | |
523,531,116 stalled-cycles-frontend:u # 0.67% frontend cycles idle (35.86%) | |
443,730,094,729 instructions:u # 5.67 insn per cycle | |
# 0.00 stalled cycles per insn (35.86%) | |
37,020,904,626 branches:u # 2.571 G/sec (35.87%) | |
38,861,299 branch-misses:u # 0.10% of all branches (35.88%) | |
148,496,302,602 L1-dcache-loads:u # 10.313 G/sec (35.74%) | |
9,272,661,247 L1-dcache-load-misses:u # 6.24% of all L1-dcache accesses (35.69%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
60,389,077 L1-icache-loads:u # 4.194 M/sec (35.70%) | |
27,059 L1-icache-load-misses:u # 0.04% of all L1-icache accesses (35.74%) | |
16,548 dTLB-loads:u # 1.149 K/sec (35.74%) | |
125 dTLB-load-misses:u # 0.76% of all dTLB cache accesses (35.73%) | |
72 iTLB-loads:u # 5.000 /sec (35.72%) | |
0 iTLB-load-misses:u (35.72%) | |
9,255,206,631 L1-dcache-prefetches:u # 642.785 M/sec (35.71%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.394254399 seconds time elapsed | |
41.115085000 seconds user | |
0.128986000 seconds sys | |
14,387.91 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
84 page-faults:u # 5.838 /sec | |
75,252,057,923 cycles:u # 5.230 GHz (35.77%) | |
720,829,478 stalled-cycles-frontend:u # 0.96% frontend cycles idle (35.78%) | |
422,811,415,819 instructions:u # 5.62 insn per cycle | |
# 0.00 stalled cycles per insn (35.80%) | |
35,229,265,731 branches:u # 2.449 G/sec (35.89%) | |
37,088,117 branch-misses:u # 0.11% of all branches (35.90%) | |
141,436,836,086 L1-dcache-loads:u # 9.830 G/sec (35.78%) | |
8,832,605,980 L1-dcache-load-misses:u # 6.24% of all L1-dcache accesses (35.76%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
55,279,390 L1-icache-loads:u # 3.842 M/sec (35.76%) | |
6,176 L1-icache-load-misses:u # 0.01% of all L1-icache accesses (35.77%) | |
33,998 dTLB-loads:u # 2.363 K/sec (35.76%) | |
257 dTLB-load-misses:u # 0.76% of all dTLB cache accesses (35.75%) | |
1,049 iTLB-loads:u # 72.908 /sec (35.73%) | |
1,277 iTLB-load-misses:u # 121.73% of all iTLB cache accesses (35.70%) | |
8,823,621,261 L1-dcache-prefetches:u # 613.266 M/sec (35.68%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.371450329 seconds time elapsed | |
40.986829000 seconds user | |
0.218562000 seconds sys | |
14,380.77 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
83 page-faults:u # 5.772 /sec | |
76,154,603,949 cycles:u # 5.296 GHz (35.77%) | |
341,557,406 stalled-cycles-frontend:u # 0.45% frontend cycles idle (35.81%) | |
301,479,050,074 instructions:u # 3.96 insn per cycle | |
# 0.00 stalled cycles per insn (35.81%) | |
15,095,014,059 branches:u # 1.050 G/sec (35.89%) | |
16,830,464 branch-misses:u # 0.11% of all branches (35.90%) | |
120,983,760,862 L1-dcache-loads:u # 8.413 G/sec (35.77%) | |
7,587,155,975 L1-dcache-load-misses:u # 6.27% of all L1-dcache accesses (35.74%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
64,872,710 L1-icache-loads:u # 4.511 M/sec (35.77%) | |
42,827 L1-icache-load-misses:u # 0.07% of all L1-icache accesses (35.76%) | |
22,591 dTLB-loads:u # 1.571 K/sec (35.74%) | |
5,938 dTLB-load-misses:u # 26.28% of all dTLB cache accesses (35.73%) | |
1,682 iTLB-loads:u # 116.962 /sec (35.72%) | |
1,439 iTLB-load-misses:u # 85.55% of all iTLB cache accesses (35.70%) | |
7,548,093,275 L1-dcache-prefetches:u # 524.874 M/sec (35.68%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.363523613 seconds time elapsed | |
41.086121000 seconds user | |
0.159826000 seconds sys | |
14,394.15 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
244 page-faults:u # 16.951 /sec | |
76,225,032,436 cycles:u # 5.296 GHz (35.81%) | |
347,056,942 stalled-cycles-frontend:u # 0.46% frontend cycles idle (35.85%) | |
301,584,005,255 instructions:u # 3.96 insn per cycle | |
# 0.00 stalled cycles per insn (35.86%) | |
15,137,682,047 branches:u # 1.052 G/sec (35.85%) | |
17,415,457 branch-misses:u # 0.12% of all branches (35.85%) | |
121,127,217,714 L1-dcache-loads:u # 8.415 G/sec (35.71%) | |
7,583,878,202 L1-dcache-load-misses:u # 6.26% of all L1-dcache accesses (35.74%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
64,648,124 L1-icache-loads:u # 4.491 M/sec (35.74%) | |
52,725 L1-icache-load-misses:u # 0.08% of all L1-icache accesses (35.75%) | |
28,225 dTLB-loads:u # 1.961 K/sec (35.74%) | |
436 dTLB-load-misses:u # 1.54% of all dTLB cache accesses (35.74%) | |
89 iTLB-loads:u # 6.183 /sec (35.73%) | |
500 iTLB-load-misses:u # 561.80% of all iTLB cache accesses (35.74%) | |
7,551,667,361 L1-dcache-prefetches:u # 524.635 M/sec (35.72%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.386766470 seconds time elapsed | |
41.103428000 seconds user | |
0.128943000 seconds sys | |
# JMH version: 1.36 | |
# VM version: JDK 21.0.4, OpenJDK 64-Bit Server VM, 21.0.4+7-LTS | |
# VM invoker: /home/nick/.jdks/azul-21.0.4/bin/java | |
# VM options: -Dfile.encoding=UTF-8 -Duser.country=GB -Duser.language=en -Duser.variant | |
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) | |
# Warmup: 5 iterations, 5 s each | |
# Measurement: 3 iterations, 5 s each | |
# Timeout: 10 min per iteration | |
# Threads: 1 thread, will synchronize iterations | |
# Benchmark mode: Sampling time | |
# Benchmark: uk.co.palmr.benchmarks.ForLoopBenchmark.mapEntrySetEnhancedFor | |
# Run progress: 50.00% complete, ETA 00:33:40 | |
# Fork: 1 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 7794.388 ±(99.9%) 74.382 us/op | |
# Warmup Iteration 2: 7758.929 ±(99.9%) 10.072 us/op | |
# Warmup Iteration 3: 7950.772 ±(99.9%) 15.350 us/op | |
# Warmup Iteration 4: 8161.076 ±(99.9%) 30.449 us/op | |
# Warmup Iteration 5: 8057.696 ±(99.9%) 14.692 us/op | |
Iteration 1: 8066.477 ±(99.9%) 9.238 us/op | |
mapEntrySetEnhancedFor·p0.00: 7864.320 us/op | |
mapEntrySetEnhancedFor·p0.50: 8052.736 us/op | |
mapEntrySetEnhancedFor·p0.90: 8142.848 us/op | |
mapEntrySetEnhancedFor·p0.95: 8192.000 us/op | |
mapEntrySetEnhancedFor·p0.99: 8288.584 us/op | |
mapEntrySetEnhancedFor·p0.999: 8601.600 us/op | |
mapEntrySetEnhancedFor·p0.9999: 8601.600 us/op | |
mapEntrySetEnhancedFor·p1.00: 8601.600 us/op | |
·gc.alloc.rate: 0.011 MB/sec | |
·gc.alloc.rate.norm: 96.877 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 8084.141 ±(99.9%) 13.020 us/op | |
mapEntrySetEnhancedFor·p0.00: 7913.472 us/op | |
mapEntrySetEnhancedFor·p0.50: 8060.928 us/op | |
mapEntrySetEnhancedFor·p0.90: 8192.000 us/op | |
mapEntrySetEnhancedFor·p0.95: 8257.536 us/op | |
mapEntrySetEnhancedFor·p0.99: 8460.698 us/op | |
mapEntrySetEnhancedFor·p0.999: 8945.664 us/op | |
mapEntrySetEnhancedFor·p0.9999: 8945.664 us/op | |
mapEntrySetEnhancedFor·p1.00: 8945.664 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 97.745 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 8074.361 ±(99.9%) 11.486 us/op | |
mapEntrySetEnhancedFor·p0.00: 7847.936 us/op | |
mapEntrySetEnhancedFor·p0.50: 8052.736 us/op | |
mapEntrySetEnhancedFor·p0.90: 8175.616 us/op | |
mapEntrySetEnhancedFor·p0.95: 8232.960 us/op | |
mapEntrySetEnhancedFor·p0.99: 8421.376 us/op | |
mapEntrySetEnhancedFor·p0.999: 8683.520 us/op | |
mapEntrySetEnhancedFor·p0.9999: 8683.520 us/op | |
mapEntrySetEnhancedFor·p1.00: 8683.520 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 97.616 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 51.00% complete, ETA 00:32:59 | |
# Fork: 2 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 8056.271 ±(99.9%) 81.641 us/op | |
# Warmup Iteration 2: 8072.595 ±(99.9%) 25.910 us/op | |
# Warmup Iteration 3: 8192.215 ±(99.9%) 35.553 us/op | |
# Warmup Iteration 4: 8558.830 ±(99.9%) 76.143 us/op | |
# Warmup Iteration 5: 8277.921 ±(99.9%) 23.897 us/op | |
Iteration 1: 8437.815 ±(99.9%) 30.785 us/op | |
mapEntrySetEnhancedFor·p0.00: 8077.312 us/op | |
mapEntrySetEnhancedFor·p0.50: 8388.608 us/op | |
mapEntrySetEnhancedFor·p0.90: 8716.288 us/op | |
mapEntrySetEnhancedFor·p0.95: 8945.664 us/op | |
mapEntrySetEnhancedFor·p0.99: 9322.496 us/op | |
mapEntrySetEnhancedFor·p0.999: 9846.784 us/op | |
mapEntrySetEnhancedFor·p0.9999: 9846.784 us/op | |
mapEntrySetEnhancedFor·p1.00: 9846.784 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 103.582 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 8315.139 ±(99.9%) 21.437 us/op | |
mapEntrySetEnhancedFor·p0.00: 8159.232 us/op | |
mapEntrySetEnhancedFor·p0.50: 8257.536 us/op | |
mapEntrySetEnhancedFor·p0.90: 8519.680 us/op | |
mapEntrySetEnhancedFor·p0.95: 8632.730 us/op | |
mapEntrySetEnhancedFor·p0.99: 8977.449 us/op | |
mapEntrySetEnhancedFor·p0.999: 9519.104 us/op | |
mapEntrySetEnhancedFor·p0.9999: 9519.104 us/op | |
mapEntrySetEnhancedFor·p1.00: 9519.104 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 100.872 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 8271.307 ±(99.9%) 16.907 us/op | |
mapEntrySetEnhancedFor·p0.00: 8028.160 us/op | |
mapEntrySetEnhancedFor·p0.50: 8224.768 us/op | |
mapEntrySetEnhancedFor·p0.90: 8421.376 us/op | |
mapEntrySetEnhancedFor·p0.95: 8531.149 us/op | |
mapEntrySetEnhancedFor·p0.99: 8829.010 us/op | |
mapEntrySetEnhancedFor·p0.999: 9093.120 us/op | |
mapEntrySetEnhancedFor·p0.9999: 9093.120 us/op | |
mapEntrySetEnhancedFor·p1.00: 9093.120 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 99.874 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 52.00% complete, ETA 00:32:19 | |
# Fork: 3 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 8289.475 ±(99.9%) 95.268 us/op | |
# Warmup Iteration 2: 8115.985 ±(99.9%) 30.272 us/op | |
# Warmup Iteration 3: 8320.918 ±(99.9%) 39.535 us/op | |
# Warmup Iteration 4: 8336.848 ±(99.9%) 24.261 us/op | |
# Warmup Iteration 5: 8351.655 ±(99.9%) 20.903 us/op | |
Iteration 1: 8270.711 ±(99.9%) 16.688 us/op | |
mapEntrySetEnhancedFor·p0.00: 8044.544 us/op | |
mapEntrySetEnhancedFor·p0.50: 8249.344 us/op | |
mapEntrySetEnhancedFor·p0.90: 8383.693 us/op | |
mapEntrySetEnhancedFor·p0.95: 8486.912 us/op | |
mapEntrySetEnhancedFor·p0.99: 8843.428 us/op | |
mapEntrySetEnhancedFor·p0.999: 9158.656 us/op | |
mapEntrySetEnhancedFor·p0.9999: 9158.656 us/op | |
mapEntrySetEnhancedFor·p1.00: 9158.656 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 100.139 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 8325.989 ±(99.9%) 25.375 us/op | |
mapEntrySetEnhancedFor·p0.00: 8101.888 us/op | |
mapEntrySetEnhancedFor·p0.50: 8265.728 us/op | |
mapEntrySetEnhancedFor·p0.90: 8568.832 us/op | |
mapEntrySetEnhancedFor·p0.95: 8667.136 us/op | |
mapEntrySetEnhancedFor·p0.99: 9010.872 us/op | |
mapEntrySetEnhancedFor·p0.999: 9502.720 us/op | |
mapEntrySetEnhancedFor·p0.9999: 9502.720 us/op | |
mapEntrySetEnhancedFor·p1.00: 9502.720 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 101.338 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 8346.280 ±(99.9%) 27.300 us/op | |
mapEntrySetEnhancedFor·p0.00: 8069.120 us/op | |
mapEntrySetEnhancedFor·p0.50: 8282.112 us/op | |
mapEntrySetEnhancedFor·p0.90: 8585.216 us/op | |
mapEntrySetEnhancedFor·p0.95: 8781.824 us/op | |
mapEntrySetEnhancedFor·p0.99: 9109.504 us/op | |
mapEntrySetEnhancedFor·p0.999: 9764.864 us/op | |
mapEntrySetEnhancedFor·p0.9999: 9764.864 us/op | |
mapEntrySetEnhancedFor·p1.00: 9764.864 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 102.144 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 53.00% complete, ETA 00:31:39 | |
# Fork: 4 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 8565.045 ±(99.9%) 97.586 us/op | |
# Warmup Iteration 2: 8549.675 ±(99.9%) 36.182 us/op | |
# Warmup Iteration 3: 8444.707 ±(99.9%) 28.808 us/op | |
# Warmup Iteration 4: 8534.932 ±(99.9%) 25.957 us/op | |
# Warmup Iteration 5: 8499.479 ±(99.9%) 25.728 us/op | |
Iteration 1: 8507.643 ±(99.9%) 21.016 us/op | |
mapEntrySetEnhancedFor·p0.00: 8314.880 us/op | |
mapEntrySetEnhancedFor·p0.50: 8454.144 us/op | |
mapEntrySetEnhancedFor·p0.90: 8732.672 us/op | |
mapEntrySetEnhancedFor·p0.95: 8781.824 us/op | |
mapEntrySetEnhancedFor·p0.99: 8962.048 us/op | |
mapEntrySetEnhancedFor·p0.999: 9338.880 us/op | |
mapEntrySetEnhancedFor·p0.9999: 9338.880 us/op | |
mapEntrySetEnhancedFor·p1.00: 9338.880 us/op | |
·gc.alloc.rate: 0.011 MB/sec | |
·gc.alloc.rate.norm: 102.150 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 8597.469 ±(99.9%) 24.349 us/op | |
mapEntrySetEnhancedFor·p0.00: 8355.840 us/op | |
mapEntrySetEnhancedFor·p0.50: 8552.448 us/op | |
mapEntrySetEnhancedFor·p0.90: 8814.592 us/op | |
mapEntrySetEnhancedFor·p0.95: 8944.026 us/op | |
mapEntrySetEnhancedFor·p0.99: 9177.989 us/op | |
mapEntrySetEnhancedFor·p0.999: 9519.104 us/op | |
mapEntrySetEnhancedFor·p0.9999: 9519.104 us/op | |
mapEntrySetEnhancedFor·p1.00: 9519.104 us/op | |
·gc.alloc.rate: 0.011 MB/sec | |
·gc.alloc.rate.norm: 103.518 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 8643.836 ±(99.9%) 40.023 us/op | |
mapEntrySetEnhancedFor·p0.00: 8339.456 us/op | |
mapEntrySetEnhancedFor·p0.50: 8617.984 us/op | |
mapEntrySetEnhancedFor·p0.90: 8898.150 us/op | |
mapEntrySetEnhancedFor·p0.95: 9043.968 us/op | |
mapEntrySetEnhancedFor·p0.99: 9565.635 us/op | |
mapEntrySetEnhancedFor·p0.999: 13172.736 us/op | |
mapEntrySetEnhancedFor·p0.9999: 13172.736 us/op | |
mapEntrySetEnhancedFor·p1.00: 13172.736 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 104.886 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 54.00% complete, ETA 00:30:58 | |
# Fork: 5 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 8035.773 ±(99.9%) 90.584 us/op | |
# Warmup Iteration 2: 7784.072 ±(99.9%) 15.879 us/op | |
# Warmup Iteration 3: 7843.750 ±(99.9%) 28.195 us/op | |
# Warmup Iteration 4: 7783.203 ±(99.9%) 12.729 us/op | |
# Warmup Iteration 5: 7946.891 ±(99.9%) 28.040 us/op | |
Iteration 1: 7943.210 ±(99.9%) 14.652 us/op | |
mapEntrySetEnhancedFor·p0.00: 7700.480 us/op | |
mapEntrySetEnhancedFor·p0.50: 7929.856 us/op | |
mapEntrySetEnhancedFor·p0.90: 8060.928 us/op | |
mapEntrySetEnhancedFor·p0.95: 8126.464 us/op | |
mapEntrySetEnhancedFor·p0.99: 8312.340 us/op | |
mapEntrySetEnhancedFor·p0.999: 9076.736 us/op | |
mapEntrySetEnhancedFor·p0.9999: 9076.736 us/op | |
mapEntrySetEnhancedFor·p1.00: 9076.736 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 96.737 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 8051.575 ±(99.9%) 25.882 us/op | |
mapEntrySetEnhancedFor·p0.00: 7741.440 us/op | |
mapEntrySetEnhancedFor·p0.50: 8003.584 us/op | |
mapEntrySetEnhancedFor·p0.90: 8272.282 us/op | |
mapEntrySetEnhancedFor·p0.95: 8355.840 us/op | |
mapEntrySetEnhancedFor·p0.99: 8672.707 us/op | |
mapEntrySetEnhancedFor·p0.999: 9764.864 us/op | |
mapEntrySetEnhancedFor·p0.9999: 9764.864 us/op | |
mapEntrySetEnhancedFor·p1.00: 9764.864 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 99.233 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 7863.405 ±(99.9%) 18.699 us/op | |
mapEntrySetEnhancedFor·p0.00: 7626.752 us/op | |
mapEntrySetEnhancedFor·p0.50: 7827.456 us/op | |
mapEntrySetEnhancedFor·p0.90: 8052.736 us/op | |
mapEntrySetEnhancedFor·p0.95: 8130.150 us/op | |
mapEntrySetEnhancedFor·p0.99: 8347.648 us/op | |
mapEntrySetEnhancedFor·p0.999: 8486.912 us/op | |
mapEntrySetEnhancedFor·p0.9999: 8486.912 us/op | |
mapEntrySetEnhancedFor·p1.00: 8486.912 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 96.453 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
Result "uk.co.palmr.benchmarks.ForLoopBenchmark.mapEntrySetEnhancedFor": | |
N = 9096 | |
mean = 8247.004 ±(99.9%) 9.687 us/op | |
Histogram, us/op: | |
[ 7000.000, 7500.000) = 0 | |
[ 7500.000, 8000.000) = 1456 | |
[ 8000.000, 8500.000) = 6141 | |
[ 8500.000, 9000.000) = 1394 | |
[ 9000.000, 9500.000) = 90 | |
[ 9500.000, 10000.000) = 13 | |
[10000.000, 10500.000) = 0 | |
[10500.000, 11000.000) = 1 | |
[11000.000, 11500.000) = 0 | |
[11500.000, 12000.000) = 0 | |
[12000.000, 12500.000) = 0 | |
[12500.000, 13000.000) = 0 | |
[13000.000, 13500.000) = 1 | |
Percentiles, us/op: | |
p(0.0000) = 7626.752 us/op | |
p(50.0000) = 8224.768 us/op | |
p(90.0000) = 8617.984 us/op | |
p(95.0000) = 8732.672 us/op | |
p(99.0000) = 9027.584 us/op | |
p(99.9000) = 9611.051 us/op | |
p(99.9900) = 13172.736 us/op | |
p(99.9990) = 13172.736 us/op | |
p(99.9999) = 13172.736 us/op | |
p(100.0000) = 13172.736 us/op | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.mapEntrySetEnhancedFor:·gc.alloc.rate": | |
0.012 ±(99.9%) 0.001 MB/sec [Average] | |
(min, avg, max) = (0.011, 0.012, 0.012), stdev = 0.001 | |
CI (99.9%): [0.011, 0.012] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.mapEntrySetEnhancedFor:·gc.alloc.rate.norm": | |
100.211 ±(99.9%) 2.922 B/op [Average] | |
(min, avg, max) = (96.453, 100.211, 104.886), stdev = 2.733 | |
CI (99.9%): [97.289, 103.132] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.mapEntrySetEnhancedFor:·gc.count": | |
≈ 0 counts | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.mapEntrySetEnhancedFor:·perf": | |
Perf stats: | |
-------------------------------------------------- | |
14,410.57 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
80 page-faults:u # 5.551 /sec | |
77,368,005,102 cycles:u # 5.369 GHz (35.79%) | |
4,960,146,793 stalled-cycles-frontend:u # 6.41% frontend cycles idle (35.84%) | |
72,235,703,785 instructions:u # 0.93 insn per cycle | |
# 0.07 stalled cycles per insn (35.86%) | |
15,114,000,682 branches:u # 1.049 G/sec (35.88%) | |
472,824,782 branch-misses:u # 3.13% of all branches (35.90%) | |
24,091,524,925 L1-dcache-loads:u # 1.672 G/sec (35.79%) | |
3,255,784,543 L1-dcache-load-misses:u # 13.51% of all L1-dcache accesses (35.77%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
69,657,555 L1-icache-loads:u # 4.834 M/sec (35.75%) | |
590,803 L1-icache-load-misses:u # 0.85% of all L1-icache accesses (35.73%) | |
1,481,833 dTLB-loads:u # 102.830 K/sec (35.71%) | |
12,823 dTLB-load-misses:u # 0.87% of all dTLB cache accesses (35.69%) | |
1,261 iTLB-loads:u # 87.505 /sec (35.68%) | |
106 iTLB-load-misses:u # 8.41% of all iTLB cache accesses (35.66%) | |
2,205,109,814 L1-dcache-prefetches:u # 153.020 M/sec (35.72%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.398069801 seconds time elapsed | |
41.052520000 seconds user | |
0.148170000 seconds sys | |
14,433.64 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
67 page-faults:u # 4.642 /sec | |
77,537,075,772 cycles:u # 5.372 GHz (35.80%) | |
5,236,799,253 stalled-cycles-frontend:u # 6.75% frontend cycles idle (35.83%) | |
70,011,140,012 instructions:u # 0.90 insn per cycle | |
# 0.07 stalled cycles per insn (35.84%) | |
14,657,915,009 branches:u # 1.016 G/sec (35.84%) | |
464,924,659 branch-misses:u # 3.17% of all branches (35.84%) | |
23,521,116,106 L1-dcache-loads:u # 1.630 G/sec (35.72%) | |
3,155,988,454 L1-dcache-load-misses:u # 13.42% of all L1-dcache accesses (35.74%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
96,003,164 L1-icache-loads:u # 6.651 M/sec (35.75%) | |
666,051 L1-icache-load-misses:u # 0.69% of all L1-icache accesses (35.76%) | |
1,489,439 dTLB-loads:u # 103.192 K/sec (35.75%) | |
10,762 dTLB-load-misses:u # 0.72% of all dTLB cache accesses (35.75%) | |
2,224 iTLB-loads:u # 154.084 /sec (35.74%) | |
912 iTLB-load-misses:u # 41.01% of all iTLB cache accesses (35.73%) | |
2,121,469,036 L1-dcache-prefetches:u # 146.981 M/sec (35.72%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.417487859 seconds time elapsed | |
40.857178000 seconds user | |
0.350286000 seconds sys | |
14,432.66 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
62 page-faults:u # 4.296 /sec | |
77,557,344,297 cycles:u # 5.374 GHz (35.79%) | |
5,120,069,165 stalled-cycles-frontend:u # 6.60% frontend cycles idle (35.82%) | |
70,362,375,072 instructions:u # 0.91 insn per cycle | |
# 0.07 stalled cycles per insn (35.83%) | |
14,713,654,343 branches:u # 1.019 G/sec (35.83%) | |
470,491,614 branch-misses:u # 3.20% of all branches (35.85%) | |
23,721,205,468 L1-dcache-loads:u # 1.644 G/sec (35.80%) | |
3,159,972,879 L1-dcache-load-misses:u # 13.32% of all L1-dcache accesses (35.79%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
95,800,694 L1-icache-loads:u # 6.638 M/sec (35.77%) | |
675,731 L1-icache-load-misses:u # 0.71% of all L1-icache accesses (35.74%) | |
1,449,659 dTLB-loads:u # 100.443 K/sec (35.72%) | |
9,150 dTLB-load-misses:u # 0.63% of all dTLB cache accesses (35.70%) | |
949 iTLB-loads:u # 65.754 /sec (35.71%) | |
957 iTLB-load-misses:u # 100.84% of all iTLB cache accesses (35.72%) | |
2,102,785,070 L1-dcache-prefetches:u # 145.696 M/sec (35.71%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.415699346 seconds time elapsed | |
41.020716000 seconds user | |
0.191192000 seconds sys | |
14,424.02 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
81 page-faults:u # 5.616 /sec | |
79,945,372,948 cycles:u # 5.543 GHz (35.72%) | |
5,504,063,852 stalled-cycles-frontend:u # 6.88% frontend cycles idle (35.83%) | |
67,900,412,334 instructions:u # 0.85 insn per cycle | |
# 0.08 stalled cycles per insn (35.86%) | |
14,213,134,078 branches:u # 985.379 M/sec (35.88%) | |
457,243,439 branch-misses:u # 3.22% of all branches (35.89%) | |
22,869,007,138 L1-dcache-loads:u # 1.585 G/sec (35.78%) | |
3,059,902,251 L1-dcache-load-misses:u # 13.38% of all L1-dcache accesses (35.76%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
97,450,566 L1-icache-loads:u # 6.756 M/sec (35.75%) | |
666,582 L1-icache-load-misses:u # 0.68% of all L1-icache accesses (35.77%) | |
2,470,479 dTLB-loads:u # 171.275 K/sec (35.76%) | |
31,996 dTLB-load-misses:u # 1.30% of all dTLB cache accesses (35.74%) | |
6,467 iTLB-loads:u # 448.349 /sec (35.70%) | |
2,048 iTLB-load-misses:u # 31.67% of all iTLB cache accesses (35.68%) | |
1,979,286,724 L1-dcache-prefetches:u # 137.222 M/sec (35.64%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.409334812 seconds time elapsed | |
41.080805000 seconds user | |
0.123614000 seconds sys | |
14,431.66 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
82 page-faults:u # 5.682 /sec | |
80,735,171,965 cycles:u # 5.594 GHz (35.77%) | |
5,907,101,051 stalled-cycles-frontend:u # 7.32% frontend cycles idle (35.82%) | |
73,462,029,025 instructions:u # 0.91 insn per cycle | |
# 0.08 stalled cycles per insn (35.84%) | |
15,370,182,976 branches:u # 1.065 G/sec (35.85%) | |
493,315,018 branch-misses:u # 3.21% of all branches (35.85%) | |
24,280,222,853 L1-dcache-loads:u # 1.682 G/sec (35.81%) | |
3,333,207,322 L1-dcache-load-misses:u # 13.73% of all L1-dcache accesses (35.73%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
100,641,575 L1-icache-loads:u # 6.974 M/sec (35.73%) | |
701,098 L1-icache-load-misses:u # 0.70% of all L1-icache accesses (35.75%) | |
2,366,686 dTLB-loads:u # 163.993 K/sec (35.76%) | |
13,757 dTLB-load-misses:u # 0.58% of all dTLB cache accesses (35.75%) | |
3,385 iTLB-loads:u # 234.554 /sec (35.74%) | |
1,010 iTLB-load-misses:u # 29.84% of all iTLB cache accesses (35.73%) | |
2,257,365,383 L1-dcache-prefetches:u # 156.418 M/sec (35.72%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.413797529 seconds time elapsed | |
41.084385000 seconds user | |
0.151894000 seconds sys | |
# JMH version: 1.36 | |
# VM version: JDK 21.0.4, OpenJDK 64-Bit Server VM, 21.0.4+7-LTS | |
# VM invoker: /home/nick/.jdks/azul-21.0.4/bin/java | |
# VM options: -Dfile.encoding=UTF-8 -Duser.country=GB -Duser.language=en -Duser.variant | |
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) | |
# Warmup: 5 iterations, 5 s each | |
# Measurement: 3 iterations, 5 s each | |
# Timeout: 10 min per iteration | |
# Threads: 1 thread, will synchronize iterations | |
# Benchmark mode: Sampling time | |
# Benchmark: uk.co.palmr.benchmarks.ForLoopBenchmark.mapEntrySetIteratorFor | |
# Run progress: 55.00% complete, ETA 00:30:18 | |
# Fork: 1 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 8178.874 ±(99.9%) 88.552 us/op | |
# Warmup Iteration 2: 8130.567 ±(99.9%) 8.525 us/op | |
# Warmup Iteration 3: 8106.575 ±(99.9%) 13.814 us/op | |
# Warmup Iteration 4: 8115.599 ±(99.9%) 9.727 us/op | |
# Warmup Iteration 5: 8144.409 ±(99.9%) 22.063 us/op | |
Iteration 1: 8150.466 ±(99.9%) 15.224 us/op | |
mapEntrySetIteratorFor·p0.00: 7954.432 us/op | |
mapEntrySetIteratorFor·p0.50: 8126.464 us/op | |
mapEntrySetIteratorFor·p0.90: 8216.576 us/op | |
mapEntrySetIteratorFor·p0.95: 8349.696 us/op | |
mapEntrySetIteratorFor·p0.99: 8832.614 us/op | |
mapEntrySetIteratorFor·p0.999: 8962.048 us/op | |
mapEntrySetIteratorFor·p0.9999: 8962.048 us/op | |
mapEntrySetIteratorFor·p1.00: 8962.048 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 98.671 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 8145.503 ±(99.9%) 13.385 us/op | |
mapEntrySetIteratorFor·p0.00: 7970.816 us/op | |
mapEntrySetIteratorFor·p0.50: 8118.272 us/op | |
mapEntrySetIteratorFor·p0.90: 8220.672 us/op | |
mapEntrySetIteratorFor·p0.95: 8318.976 us/op | |
mapEntrySetIteratorFor·p0.99: 8634.368 us/op | |
mapEntrySetIteratorFor·p0.999: 9076.736 us/op | |
mapEntrySetIteratorFor·p0.9999: 9076.736 us/op | |
mapEntrySetIteratorFor·p1.00: 9076.736 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 98.345 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 8147.718 ±(99.9%) 13.378 us/op | |
mapEntrySetIteratorFor·p0.00: 7987.200 us/op | |
mapEntrySetIteratorFor·p0.50: 8126.464 us/op | |
mapEntrySetIteratorFor·p0.90: 8208.384 us/op | |
mapEntrySetIteratorFor·p0.95: 8314.880 us/op | |
mapEntrySetIteratorFor·p0.99: 8667.136 us/op | |
mapEntrySetIteratorFor·p0.999: 8929.280 us/op | |
mapEntrySetIteratorFor·p0.9999: 8929.280 us/op | |
mapEntrySetIteratorFor·p1.00: 8929.280 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 98.541 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 56.00% complete, ETA 00:29:37 | |
# Fork: 2 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 8231.475 ±(99.9%) 81.309 us/op | |
# Warmup Iteration 2: 8192.027 ±(99.9%) 14.381 us/op | |
# Warmup Iteration 3: 8213.227 ±(99.9%) 14.657 us/op | |
# Warmup Iteration 4: 8179.638 ±(99.9%) 10.437 us/op | |
# Warmup Iteration 5: 8186.865 ±(99.9%) 15.259 us/op | |
Iteration 1: 8244.985 ±(99.9%) 15.004 us/op | |
mapEntrySetIteratorFor·p0.00: 8028.160 us/op | |
mapEntrySetIteratorFor·p0.50: 8232.960 us/op | |
mapEntrySetIteratorFor·p0.90: 8323.072 us/op | |
mapEntrySetIteratorFor·p0.95: 8437.760 us/op | |
mapEntrySetIteratorFor·p0.99: 8716.288 us/op | |
mapEntrySetIteratorFor·p0.999: 8994.816 us/op | |
mapEntrySetIteratorFor·p0.9999: 8994.816 us/op | |
mapEntrySetIteratorFor·p1.00: 8994.816 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 100.007 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 8294.543 ±(99.9%) 29.024 us/op | |
mapEntrySetIteratorFor·p0.00: 7995.392 us/op | |
mapEntrySetIteratorFor·p0.50: 8265.728 us/op | |
mapEntrySetIteratorFor·p0.90: 8454.144 us/op | |
mapEntrySetIteratorFor·p0.95: 8565.555 us/op | |
mapEntrySetIteratorFor·p0.99: 9024.963 us/op | |
mapEntrySetIteratorFor·p0.999: 11583.488 us/op | |
mapEntrySetIteratorFor·p0.9999: 11583.488 us/op | |
mapEntrySetIteratorFor·p1.00: 11583.488 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 101.400 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 8305.681 ±(99.9%) 27.869 us/op | |
mapEntrySetIteratorFor·p0.00: 7839.744 us/op | |
mapEntrySetIteratorFor·p0.50: 8273.920 us/op | |
mapEntrySetIteratorFor·p0.90: 8503.296 us/op | |
mapEntrySetIteratorFor·p0.95: 8650.752 us/op | |
mapEntrySetIteratorFor·p0.99: 9188.966 us/op | |
mapEntrySetIteratorFor·p0.999: 10059.776 us/op | |
mapEntrySetIteratorFor·p0.9999: 10059.776 us/op | |
mapEntrySetIteratorFor·p1.00: 10059.776 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 102.831 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 57.00% complete, ETA 00:28:57 | |
# Fork: 3 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 8637.990 ±(99.9%) 90.585 us/op | |
# Warmup Iteration 2: 8576.265 ±(99.9%) 29.094 us/op | |
# Warmup Iteration 3: 8610.511 ±(99.9%) 33.679 us/op | |
# Warmup Iteration 4: 8591.015 ±(99.9%) 21.783 us/op | |
# Warmup Iteration 5: 8641.471 ±(99.9%) 53.674 us/op | |
Iteration 1: 8532.961 ±(99.9%) 17.811 us/op | |
mapEntrySetIteratorFor·p0.00: 8421.376 us/op | |
mapEntrySetIteratorFor·p0.50: 8503.296 us/op | |
mapEntrySetIteratorFor·p0.90: 8601.600 us/op | |
mapEntrySetIteratorFor·p0.95: 8732.672 us/op | |
mapEntrySetIteratorFor·p0.99: 9261.220 us/op | |
mapEntrySetIteratorFor·p0.999: 9486.336 us/op | |
mapEntrySetIteratorFor·p0.9999: 9486.336 us/op | |
mapEntrySetIteratorFor·p1.00: 9486.336 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 53.174 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 8515.926 ±(99.9%) 12.985 us/op | |
mapEntrySetIteratorFor·p0.00: 8380.416 us/op | |
mapEntrySetIteratorFor·p0.50: 8486.912 us/op | |
mapEntrySetIteratorFor·p0.90: 8568.832 us/op | |
mapEntrySetIteratorFor·p0.95: 8617.984 us/op | |
mapEntrySetIteratorFor·p0.99: 9148.170 us/op | |
mapEntrySetIteratorFor·p0.999: 9355.264 us/op | |
mapEntrySetIteratorFor·p0.9999: 9355.264 us/op | |
mapEntrySetIteratorFor·p1.00: 9355.264 us/op | |
·gc.alloc.rate: 0.011 MB/sec | |
·gc.alloc.rate.norm: 101.274 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 8551.174 ±(99.9%) 19.189 us/op | |
mapEntrySetIteratorFor·p0.00: 8355.840 us/op | |
mapEntrySetIteratorFor·p0.50: 8503.296 us/op | |
mapEntrySetIteratorFor·p0.90: 8732.672 us/op | |
mapEntrySetIteratorFor·p0.95: 8863.744 us/op | |
mapEntrySetIteratorFor·p0.99: 9202.893 us/op | |
mapEntrySetIteratorFor·p0.999: 9601.024 us/op | |
mapEntrySetIteratorFor·p0.9999: 9601.024 us/op | |
mapEntrySetIteratorFor·p1.00: 9601.024 us/op | |
·gc.alloc.rate: 0.011 MB/sec | |
·gc.alloc.rate.norm: 102.646 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 58.00% complete, ETA 00:28:17 | |
# Fork: 4 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 8287.831 ±(99.9%) 91.309 us/op | |
# Warmup Iteration 2: 8366.046 ±(99.9%) 39.214 us/op | |
# Warmup Iteration 3: 8284.757 ±(99.9%) 30.429 us/op | |
# Warmup Iteration 4: 8238.426 ±(99.9%) 23.588 us/op | |
# Warmup Iteration 5: 8491.404 ±(99.9%) 39.613 us/op | |
Iteration 1: 8563.011 ±(99.9%) 27.941 us/op | |
mapEntrySetIteratorFor·p0.00: 8339.456 us/op | |
mapEntrySetIteratorFor·p0.50: 8486.912 us/op | |
mapEntrySetIteratorFor·p0.90: 8830.976 us/op | |
mapEntrySetIteratorFor·p0.95: 9011.200 us/op | |
mapEntrySetIteratorFor·p0.99: 9292.186 us/op | |
mapEntrySetIteratorFor·p0.999: 9650.176 us/op | |
mapEntrySetIteratorFor·p0.9999: 9650.176 us/op | |
mapEntrySetIteratorFor·p1.00: 9650.176 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 103.603 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 8516.024 ±(99.9%) 25.380 us/op | |
mapEntrySetIteratorFor·p0.00: 8265.728 us/op | |
mapEntrySetIteratorFor·p0.50: 8470.528 us/op | |
mapEntrySetIteratorFor·p0.90: 8683.520 us/op | |
mapEntrySetIteratorFor·p0.95: 8939.110 us/op | |
mapEntrySetIteratorFor·p0.99: 9373.614 us/op | |
mapEntrySetIteratorFor·p0.999: 9682.944 us/op | |
mapEntrySetIteratorFor·p0.9999: 9682.944 us/op | |
mapEntrySetIteratorFor·p1.00: 9682.944 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 103.141 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 8474.277 ±(99.9%) 22.983 us/op | |
mapEntrySetIteratorFor·p0.00: 8241.152 us/op | |
mapEntrySetIteratorFor·p0.50: 8437.760 us/op | |
mapEntrySetIteratorFor·p0.90: 8599.962 us/op | |
mapEntrySetIteratorFor·p0.95: 8749.056 us/op | |
mapEntrySetIteratorFor·p0.99: 9292.677 us/op | |
mapEntrySetIteratorFor·p0.999: 9961.472 us/op | |
mapEntrySetIteratorFor·p0.9999: 9961.472 us/op | |
mapEntrySetIteratorFor·p1.00: 9961.472 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 102.346 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 59.00% complete, ETA 00:27:36 | |
# Fork: 5 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 9289.256 ±(99.9%) 234.065 us/op | |
# Warmup Iteration 2: 8971.593 ±(99.9%) 139.444 us/op | |
# Warmup Iteration 3: 8722.107 ±(99.9%) 194.570 us/op | |
# Warmup Iteration 4: 8472.139 ±(99.9%) 24.776 us/op | |
# Warmup Iteration 5: 8686.748 ±(99.9%) 38.179 us/op | |
Iteration 1: 8542.520 ±(99.9%) 19.203 us/op | |
mapEntrySetIteratorFor·p0.00: 8323.072 us/op | |
mapEntrySetIteratorFor·p0.50: 8503.296 us/op | |
mapEntrySetIteratorFor·p0.90: 8683.520 us/op | |
mapEntrySetIteratorFor·p0.95: 8826.061 us/op | |
mapEntrySetIteratorFor·p0.99: 9125.888 us/op | |
mapEntrySetIteratorFor·p0.999: 9633.792 us/op | |
mapEntrySetIteratorFor·p0.9999: 9633.792 us/op | |
mapEntrySetIteratorFor·p1.00: 9633.792 us/op | |
·gc.alloc.rate: 0.011 MB/sec | |
·gc.alloc.rate.norm: 102.810 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 8785.898 ±(99.9%) 113.202 us/op | |
mapEntrySetIteratorFor·p0.00: 8323.072 us/op | |
mapEntrySetIteratorFor·p0.50: 8519.680 us/op | |
mapEntrySetIteratorFor·p0.90: 9519.104 us/op | |
mapEntrySetIteratorFor·p0.95: 10027.008 us/op | |
mapEntrySetIteratorFor·p0.99: 12748.390 us/op | |
mapEntrySetIteratorFor·p0.999: 17727.488 us/op | |
mapEntrySetIteratorFor·p0.9999: 17727.488 us/op | |
mapEntrySetIteratorFor·p1.00: 17727.488 us/op | |
·gc.alloc.rate: 0.017 MB/sec | |
·gc.alloc.rate.norm: 159.986 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 8625.018 ±(99.9%) 70.511 us/op | |
mapEntrySetIteratorFor·p0.00: 8314.880 us/op | |
mapEntrySetIteratorFor·p0.50: 8519.680 us/op | |
mapEntrySetIteratorFor·p0.90: 8731.034 us/op | |
mapEntrySetIteratorFor·p0.95: 9371.648 us/op | |
mapEntrySetIteratorFor·p0.99: 11038.884 us/op | |
mapEntrySetIteratorFor·p0.999: 14467.072 us/op | |
mapEntrySetIteratorFor·p0.9999: 14467.072 us/op | |
mapEntrySetIteratorFor·p1.00: 14467.072 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 105.007 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
Result "uk.co.palmr.benchmarks.ForLoopBenchmark.mapEntrySetIteratorFor": | |
N = 8907 | |
mean = 8422.022 ±(99.9%) 11.896 us/op | |
Histogram, us/op: | |
[ 7000.000, 8000.000) = 35 | |
[ 8000.000, 9000.000) = 8626 | |
[ 9000.000, 10000.000) = 195 | |
[10000.000, 11000.000) = 29 | |
[11000.000, 12000.000) = 9 | |
[12000.000, 13000.000) = 8 | |
[13000.000, 14000.000) = 2 | |
[14000.000, 15000.000) = 2 | |
[15000.000, 16000.000) = 0 | |
[16000.000, 17000.000) = 0 | |
Percentiles, us/op: | |
p(0.0000) = 7839.744 us/op | |
p(50.0000) = 8437.760 us/op | |
p(90.0000) = 8621.261 us/op | |
p(95.0000) = 8781.824 us/op | |
p(99.0000) = 9519.104 us/op | |
p(99.9000) = 12574.065 us/op | |
p(99.9900) = 17727.488 us/op | |
p(99.9990) = 17727.488 us/op | |
p(99.9999) = 17727.488 us/op | |
p(100.0000) = 17727.488 us/op | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.mapEntrySetIteratorFor:·gc.alloc.rate": | |
0.012 ±(99.9%) 0.002 MB/sec [Average] | |
(min, avg, max) = (0.006, 0.012, 0.017), stdev = 0.002 | |
CI (99.9%): [0.009, 0.014] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.mapEntrySetIteratorFor:·gc.alloc.rate.norm": | |
102.252 ±(99.9%) 21.762 B/op [Average] | |
(min, avg, max) = (53.174, 102.252, 159.986), stdev = 20.357 | |
CI (99.9%): [80.490, 124.014] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.mapEntrySetIteratorFor:·gc.count": | |
≈ 0 counts | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.mapEntrySetIteratorFor:·perf": | |
Perf stats: | |
-------------------------------------------------- | |
14,408.29 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
63 page-faults:u # 4.372 /sec | |
77,445,302,155 cycles:u # 5.375 GHz (35.78%) | |
4,843,491,961 stalled-cycles-frontend:u # 6.25% frontend cycles idle (35.86%) | |
71,595,306,379 instructions:u # 0.92 insn per cycle | |
# 0.07 stalled cycles per insn (35.90%) | |
14,982,956,355 branches:u # 1.040 G/sec (35.90%) | |
463,296,865 branch-misses:u # 3.09% of all branches (35.90%) | |
23,678,271,813 L1-dcache-loads:u # 1.643 G/sec (35.81%) | |
3,235,261,182 L1-dcache-load-misses:u # 13.66% of all L1-dcache accesses (35.71%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
84,465,141 L1-icache-loads:u # 5.862 M/sec (35.66%) | |
640,525 L1-icache-load-misses:u # 0.76% of all L1-icache accesses (35.68%) | |
1,943,952 dTLB-loads:u # 134.919 K/sec (35.67%) | |
9,656 dTLB-load-misses:u # 0.50% of all dTLB cache accesses (35.73%) | |
333 iTLB-loads:u # 23.112 /sec (35.72%) | |
240 iTLB-load-misses:u # 72.07% of all iTLB cache accesses (35.73%) | |
2,175,698,880 L1-dcache-prefetches:u # 151.003 M/sec (35.72%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.392646772 seconds time elapsed | |
41.013857000 seconds user | |
0.212671000 seconds sys | |
14,414.70 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
61 page-faults:u # 4.232 /sec | |
77,589,348,954 cycles:u # 5.383 GHz (35.73%) | |
4,793,409,804 stalled-cycles-frontend:u # 6.18% frontend cycles idle (35.84%) | |
70,345,613,844 instructions:u # 0.91 insn per cycle | |
# 0.07 stalled cycles per insn (35.86%) | |
14,720,808,134 branches:u # 1.021 G/sec (35.88%) | |
459,389,913 branch-misses:u # 3.12% of all branches (35.89%) | |
23,491,504,294 L1-dcache-loads:u # 1.630 G/sec (35.78%) | |
3,167,669,230 L1-dcache-load-misses:u # 13.48% of all L1-dcache accesses (35.72%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
86,663,793 L1-icache-loads:u # 6.012 M/sec (35.74%) | |
632,585 L1-icache-load-misses:u # 0.73% of all L1-icache accesses (35.76%) | |
1,938,564 dTLB-loads:u # 134.485 K/sec (35.74%) | |
18,521 dTLB-load-misses:u # 0.96% of all dTLB cache accesses (35.73%) | |
4,130 iTLB-loads:u # 286.513 /sec (35.71%) | |
1,025 iTLB-load-misses:u # 24.82% of all iTLB cache accesses (35.68%) | |
2,108,020,840 L1-dcache-prefetches:u # 146.241 M/sec (35.66%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.400365551 seconds time elapsed | |
40.987645000 seconds user | |
0.202448000 seconds sys | |
14,430.42 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
85 page-faults:u # 5.890 /sec | |
77,503,778,098 cycles:u # 5.371 GHz (35.78%) | |
4,674,758,991 stalled-cycles-frontend:u # 6.03% frontend cycles idle (35.83%) | |
68,424,940,961 instructions:u # 0.88 insn per cycle | |
# 0.07 stalled cycles per insn (35.84%) | |
14,315,410,762 branches:u # 992.030 M/sec (35.86%) | |
439,707,914 branch-misses:u # 3.07% of all branches (35.93%) | |
22,779,629,585 L1-dcache-loads:u # 1.579 G/sec (35.76%) | |
3,076,235,400 L1-dcache-load-misses:u # 13.50% of all L1-dcache accesses (35.73%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
82,373,229 L1-icache-loads:u # 5.708 M/sec (35.75%) | |
610,401 L1-icache-load-misses:u # 0.74% of all L1-icache accesses (35.75%) | |
1,867,824 dTLB-loads:u # 129.437 K/sec (35.74%) | |
11,160 dTLB-load-misses:u # 0.60% of all dTLB cache accesses (35.73%) | |
982 iTLB-loads:u # 68.051 /sec (35.72%) | |
1,344 iTLB-load-misses:u # 136.86% of all iTLB cache accesses (35.70%) | |
2,007,888,970 L1-dcache-prefetches:u # 139.143 M/sec (35.67%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.414052285 seconds time elapsed | |
41.055001000 seconds user | |
0.185389000 seconds sys | |
14,424.80 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
81 page-faults:u # 5.615 /sec | |
77,485,521,535 cycles:u # 5.372 GHz (35.78%) | |
4,614,317,672 stalled-cycles-frontend:u # 5.96% frontend cycles idle (35.80%) | |
68,655,258,872 instructions:u # 0.89 insn per cycle | |
# 0.07 stalled cycles per insn (35.82%) | |
14,359,408,263 branches:u # 995.467 M/sec (35.82%) | |
444,474,885 branch-misses:u # 3.10% of all branches (35.84%) | |
22,883,357,797 L1-dcache-loads:u # 1.586 G/sec (35.78%) | |
3,061,887,866 L1-dcache-load-misses:u # 13.38% of all L1-dcache accesses (35.77%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
79,851,530 L1-icache-loads:u # 5.536 M/sec (35.75%) | |
600,914 L1-icache-load-misses:u # 0.75% of all L1-icache accesses (35.75%) | |
1,724,446 dTLB-loads:u # 119.547 K/sec (35.74%) | |
12,119 dTLB-load-misses:u # 0.70% of all dTLB cache accesses (35.73%) | |
347 iTLB-loads:u # 24.056 /sec (35.72%) | |
1,122 iTLB-load-misses:u # 323.34% of all iTLB cache accesses (35.72%) | |
2,022,913,867 L1-dcache-prefetches:u # 140.239 M/sec (35.71%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.412660751 seconds time elapsed | |
41.081050000 seconds user | |
0.116159000 seconds sys | |
14,426.42 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
86 page-faults:u # 5.961 /sec | |
77,352,459,222 cycles:u # 5.362 GHz (35.75%) | |
4,664,939,771 stalled-cycles-frontend:u # 6.03% frontend cycles idle (35.81%) | |
67,398,369,175 instructions:u # 0.87 insn per cycle | |
# 0.07 stalled cycles per insn (35.83%) | |
14,083,682,233 branches:u # 976.242 M/sec (35.91%) | |
436,556,267 branch-misses:u # 3.10% of all branches (35.92%) | |
22,644,493,680 L1-dcache-loads:u # 1.570 G/sec (35.81%) | |
3,037,267,693 L1-dcache-load-misses:u # 13.41% of all L1-dcache accesses (35.71%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
80,437,877 L1-icache-loads:u # 5.576 M/sec (35.74%) | |
604,680 L1-icache-load-misses:u # 0.75% of all L1-icache accesses (35.76%) | |
1,896,415 dTLB-loads:u # 131.454 K/sec (35.75%) | |
43,900 dTLB-load-misses:u # 2.31% of all dTLB cache accesses (35.74%) | |
13,551 iTLB-loads:u # 939.318 /sec (35.74%) | |
1,738 iTLB-load-misses:u # 12.83% of all iTLB cache accesses (35.71%) | |
1,975,660,848 L1-dcache-prefetches:u # 136.947 M/sec (35.68%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.409224555 seconds time elapsed | |
40.999693000 seconds user | |
0.269946000 seconds sys | |
# JMH version: 1.36 | |
# VM version: JDK 21.0.4, OpenJDK 64-Bit Server VM, 21.0.4+7-LTS | |
# VM invoker: /home/nick/.jdks/azul-21.0.4/bin/java | |
# VM options: -Dfile.encoding=UTF-8 -Duser.country=GB -Duser.language=en -Duser.variant | |
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) | |
# Warmup: 5 iterations, 5 s each | |
# Measurement: 3 iterations, 5 s each | |
# Timeout: 10 min per iteration | |
# Threads: 1 thread, will synchronize iterations | |
# Benchmark mode: Sampling time | |
# Benchmark: uk.co.palmr.benchmarks.ForLoopBenchmark.mapEntrySetIteratorWhile | |
# Run progress: 60.00% complete, ETA 00:26:56 | |
# Fork: 1 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 8403.381 ±(99.9%) 87.486 us/op | |
# Warmup Iteration 2: 8446.007 ±(99.9%) 35.378 us/op | |
# Warmup Iteration 3: 8161.397 ±(99.9%) 22.354 us/op | |
# Warmup Iteration 4: 8213.428 ±(99.9%) 29.552 us/op | |
# Warmup Iteration 5: 8466.037 ±(99.9%) 38.798 us/op | |
Iteration 1: 8798.136 ±(99.9%) 65.682 us/op | |
mapEntrySetIteratorWhile·p0.00: 8282.112 us/op | |
mapEntrySetIteratorWhile·p0.50: 8617.984 us/op | |
mapEntrySetIteratorWhile·p0.90: 9553.510 us/op | |
mapEntrySetIteratorWhile·p0.95: 9797.632 us/op | |
mapEntrySetIteratorWhile·p0.99: 10275.553 us/op | |
mapEntrySetIteratorWhile·p0.999: 11714.560 us/op | |
mapEntrySetIteratorWhile·p0.9999: 11714.560 us/op | |
mapEntrySetIteratorWhile·p1.00: 11714.560 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 110.113 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 8663.942 ±(99.9%) 116.012 us/op | |
mapEntrySetIteratorWhile·p0.00: 8282.112 us/op | |
mapEntrySetIteratorWhile·p0.50: 8454.144 us/op | |
mapEntrySetIteratorWhile·p0.90: 9034.138 us/op | |
mapEntrySetIteratorWhile·p0.95: 9668.198 us/op | |
mapEntrySetIteratorWhile·p0.99: 13276.938 us/op | |
mapEntrySetIteratorWhile·p0.999: 16384.000 us/op | |
mapEntrySetIteratorWhile·p0.9999: 16384.000 us/op | |
mapEntrySetIteratorWhile·p1.00: 16384.000 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 107.217 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 8805.578 ±(99.9%) 118.193 us/op | |
mapEntrySetIteratorWhile·p0.00: 8290.304 us/op | |
mapEntrySetIteratorWhile·p0.50: 8585.216 us/op | |
mapEntrySetIteratorWhile·p0.90: 9338.880 us/op | |
mapEntrySetIteratorWhile·p0.95: 9814.016 us/op | |
mapEntrySetIteratorWhile·p0.99: 12348.948 us/op | |
mapEntrySetIteratorWhile·p0.999: 18644.992 us/op | |
mapEntrySetIteratorWhile·p0.9999: 18644.992 us/op | |
mapEntrySetIteratorWhile·p1.00: 18644.992 us/op | |
·gc.alloc.rate: 0.017 MB/sec | |
·gc.alloc.rate.norm: 160.690 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 61.00% complete, ETA 00:26:15 | |
# Fork: 2 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 8326.704 ±(99.9%) 136.768 us/op | |
# Warmup Iteration 2: 7994.633 ±(99.9%) 12.641 us/op | |
# Warmup Iteration 3: 8088.924 ±(99.9%) 23.422 us/op | |
# Warmup Iteration 4: 8256.617 ±(99.9%) 28.206 us/op | |
# Warmup Iteration 5: 8316.093 ±(99.9%) 40.604 us/op | |
Iteration 1: 8120.998 ±(99.9%) 23.463 us/op | |
mapEntrySetIteratorWhile·p0.00: 7847.936 us/op | |
mapEntrySetIteratorWhile·p0.50: 8069.120 us/op | |
mapEntrySetIteratorWhile·p0.90: 8309.146 us/op | |
mapEntrySetIteratorWhile·p0.95: 8404.992 us/op | |
mapEntrySetIteratorWhile·p0.99: 8819.835 us/op | |
mapEntrySetIteratorWhile·p0.999: 9224.192 us/op | |
mapEntrySetIteratorWhile·p0.9999: 9224.192 us/op | |
mapEntrySetIteratorWhile·p1.00: 9224.192 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 99.649 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 8065.922 ±(99.9%) 17.586 us/op | |
mapEntrySetIteratorWhile·p0.00: 7946.240 us/op | |
mapEntrySetIteratorWhile·p0.50: 8011.776 us/op | |
mapEntrySetIteratorWhile·p0.90: 8241.152 us/op | |
mapEntrySetIteratorWhile·p0.95: 8363.622 us/op | |
mapEntrySetIteratorWhile·p0.99: 8503.296 us/op | |
mapEntrySetIteratorWhile·p0.999: 8896.512 us/op | |
mapEntrySetIteratorWhile·p0.9999: 8896.512 us/op | |
mapEntrySetIteratorWhile·p1.00: 8896.512 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 97.781 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 8166.661 ±(99.9%) 34.558 us/op | |
mapEntrySetIteratorWhile·p0.00: 7888.896 us/op | |
mapEntrySetIteratorWhile·p0.50: 8093.696 us/op | |
mapEntrySetIteratorWhile·p0.90: 8514.765 us/op | |
mapEntrySetIteratorWhile·p0.95: 8787.558 us/op | |
mapEntrySetIteratorWhile·p0.99: 9058.222 us/op | |
mapEntrySetIteratorWhile·p0.999: 9617.408 us/op | |
mapEntrySetIteratorWhile·p0.9999: 9617.408 us/op | |
mapEntrySetIteratorWhile·p1.00: 9617.408 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 101.673 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 62.00% complete, ETA 00:25:35 | |
# Fork: 3 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 8421.376 ±(99.9%) 87.132 us/op | |
# Warmup Iteration 2: 8323.017 ±(99.9%) 20.692 us/op | |
# Warmup Iteration 3: 8471.111 ±(99.9%) 28.755 us/op | |
# Warmup Iteration 4: 8463.459 ±(99.9%) 29.054 us/op | |
# Warmup Iteration 5: 8583.991 ±(99.9%) 45.512 us/op | |
Iteration 1: 8738.343 ±(99.9%) 35.845 us/op | |
mapEntrySetIteratorWhile·p0.00: 8380.416 us/op | |
mapEntrySetIteratorWhile·p0.50: 8691.712 us/op | |
mapEntrySetIteratorWhile·p0.90: 9060.352 us/op | |
mapEntrySetIteratorWhile·p0.95: 9158.656 us/op | |
mapEntrySetIteratorWhile·p0.99: 9597.911 us/op | |
mapEntrySetIteratorWhile·p0.999: 10240.000 us/op | |
mapEntrySetIteratorWhile·p0.9999: 10240.000 us/op | |
mapEntrySetIteratorWhile·p1.00: 10240.000 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 106.126 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 8729.498 ±(99.9%) 47.725 us/op | |
mapEntrySetIteratorWhile·p0.00: 8404.992 us/op | |
mapEntrySetIteratorWhile·p0.50: 8568.832 us/op | |
mapEntrySetIteratorWhile·p0.90: 9184.870 us/op | |
mapEntrySetIteratorWhile·p0.95: 9458.483 us/op | |
mapEntrySetIteratorWhile·p0.99: 10150.871 us/op | |
mapEntrySetIteratorWhile·p0.999: 10387.456 us/op | |
mapEntrySetIteratorWhile·p0.9999: 10387.456 us/op | |
mapEntrySetIteratorWhile·p1.00: 10387.456 us/op | |
·gc.alloc.rate: 0.006 MB/sec | |
·gc.alloc.rate.norm: 57.131 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 8679.068 ±(99.9%) 37.646 us/op | |
mapEntrySetIteratorWhile·p0.00: 8380.416 us/op | |
mapEntrySetIteratorWhile·p0.50: 8617.984 us/op | |
mapEntrySetIteratorWhile·p0.90: 8934.195 us/op | |
mapEntrySetIteratorWhile·p0.95: 9158.656 us/op | |
mapEntrySetIteratorWhile·p0.99: 10042.081 us/op | |
mapEntrySetIteratorWhile·p0.999: 10633.216 us/op | |
mapEntrySetIteratorWhile·p0.9999: 10633.216 us/op | |
mapEntrySetIteratorWhile·p1.00: 10633.216 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 105.806 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 63.00% complete, ETA 00:24:55 | |
# Fork: 4 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 8446.589 ±(99.9%) 103.716 us/op | |
# Warmup Iteration 2: 8323.263 ±(99.9%) 21.411 us/op | |
# Warmup Iteration 3: 8348.769 ±(99.9%) 25.069 us/op | |
# Warmup Iteration 4: 8354.855 ±(99.9%) 50.233 us/op | |
# Warmup Iteration 5: 8389.543 ±(99.9%) 26.460 us/op | |
Iteration 1: 8203.294 ±(99.9%) 44.859 us/op | |
mapEntrySetIteratorWhile·p0.00: 7880.704 us/op | |
mapEntrySetIteratorWhile·p0.50: 8077.312 us/op | |
mapEntrySetIteratorWhile·p0.90: 8634.368 us/op | |
mapEntrySetIteratorWhile·p0.95: 9011.200 us/op | |
mapEntrySetIteratorWhile·p0.99: 9482.732 us/op | |
mapEntrySetIteratorWhile·p0.999: 9732.096 us/op | |
mapEntrySetIteratorWhile·p0.9999: 9732.096 us/op | |
mapEntrySetIteratorWhile·p1.00: 9732.096 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 102.925 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 8051.364 ±(99.9%) 14.223 us/op | |
mapEntrySetIteratorWhile·p0.00: 7847.936 us/op | |
mapEntrySetIteratorWhile·p0.50: 8028.160 us/op | |
mapEntrySetIteratorWhile·p0.90: 8159.232 us/op | |
mapEntrySetIteratorWhile·p0.95: 8215.757 us/op | |
mapEntrySetIteratorWhile·p0.99: 8558.019 us/op | |
mapEntrySetIteratorWhile·p0.999: 8880.128 us/op | |
mapEntrySetIteratorWhile·p0.9999: 8880.128 us/op | |
mapEntrySetIteratorWhile·p1.00: 8880.128 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 97.301 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 8161.851 ±(99.9%) 43.316 us/op | |
mapEntrySetIteratorWhile·p0.00: 7905.280 us/op | |
mapEntrySetIteratorWhile·p0.50: 8101.888 us/op | |
mapEntrySetIteratorWhile·p0.90: 8349.286 us/op | |
mapEntrySetIteratorWhile·p0.95: 8699.904 us/op | |
mapEntrySetIteratorWhile·p0.99: 9296.937 us/op | |
mapEntrySetIteratorWhile·p0.999: 13221.888 us/op | |
mapEntrySetIteratorWhile·p0.9999: 13221.888 us/op | |
mapEntrySetIteratorWhile·p1.00: 13221.888 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 100.985 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 64.00% complete, ETA 00:24:14 | |
# Fork: 5 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 8261.625 ±(99.9%) 94.989 us/op | |
# Warmup Iteration 2: 8194.014 ±(99.9%) 24.881 us/op | |
# Warmup Iteration 3: 8193.222 ±(99.9%) 24.488 us/op | |
# Warmup Iteration 4: 7800.816 ±(99.9%) 17.293 us/op | |
# Warmup Iteration 5: 8356.073 ±(99.9%) 124.902 us/op | |
Iteration 1: 8738.014 ±(99.9%) 252.984 us/op | |
mapEntrySetIteratorWhile·p0.00: 7749.632 us/op | |
mapEntrySetIteratorWhile·p0.50: 7970.816 us/op | |
mapEntrySetIteratorWhile·p0.90: 11542.528 us/op | |
mapEntrySetIteratorWhile·p0.95: 13221.888 us/op | |
mapEntrySetIteratorWhile·p0.99: 15784.837 us/op | |
mapEntrySetIteratorWhile·p0.999: 21594.112 us/op | |
mapEntrySetIteratorWhile·p0.9999: 21594.112 us/op | |
mapEntrySetIteratorWhile·p1.00: 21594.112 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 164.741 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 8503.268 ±(99.9%) 141.968 us/op | |
mapEntrySetIteratorWhile·p0.00: 7806.976 us/op | |
mapEntrySetIteratorWhile·p0.50: 8183.808 us/op | |
mapEntrySetIteratorWhile·p0.90: 9076.736 us/op | |
mapEntrySetIteratorWhile·p0.95: 9863.168 us/op | |
mapEntrySetIteratorWhile·p0.99: 14206.730 us/op | |
mapEntrySetIteratorWhile·p0.999: 17072.128 us/op | |
mapEntrySetIteratorWhile·p0.9999: 17072.128 us/op | |
mapEntrySetIteratorWhile·p1.00: 17072.128 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 157.401 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 8261.761 ±(99.9%) 24.785 us/op | |
mapEntrySetIteratorWhile·p0.00: 7929.856 us/op | |
mapEntrySetIteratorWhile·p0.50: 8241.152 us/op | |
mapEntrySetIteratorWhile·p0.90: 8454.144 us/op | |
mapEntrySetIteratorWhile·p0.95: 8596.685 us/op | |
mapEntrySetIteratorWhile·p0.99: 9057.403 us/op | |
mapEntrySetIteratorWhile·p0.999: 9420.800 us/op | |
mapEntrySetIteratorWhile·p0.9999: 9420.800 us/op | |
mapEntrySetIteratorWhile·p1.00: 9420.800 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 101.263 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
Result "uk.co.palmr.benchmarks.ForLoopBenchmark.mapEntrySetIteratorWhile": | |
N = 8891 | |
mean = 8435.771 ±(99.9%) 25.184 us/op | |
Histogram, us/op: | |
[ 0.000, 2500.000) = 0 | |
[ 2500.000, 5000.000) = 0 | |
[ 5000.000, 7500.000) = 0 | |
[ 7500.000, 10000.000) = 8715 | |
[10000.000, 12500.000) = 113 | |
[12500.000, 15000.000) = 43 | |
[15000.000, 17500.000) = 15 | |
[17500.000, 20000.000) = 4 | |
[20000.000, 22500.000) = 1 | |
[22500.000, 25000.000) = 0 | |
[25000.000, 27500.000) = 0 | |
Percentiles, us/op: | |
p(0.0000) = 7749.632 us/op | |
p(50.0000) = 8298.496 us/op | |
p(90.0000) = 8929.280 us/op | |
p(95.0000) = 9289.728 us/op | |
p(99.0000) = 11669.340 us/op | |
p(99.9000) = 16407.003 us/op | |
p(99.9900) = 21594.112 us/op | |
p(99.9990) = 21594.112 us/op | |
p(99.9999) = 21594.112 us/op | |
p(100.0000) = 21594.112 us/op | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.mapEntrySetIteratorWhile:·gc.alloc.rate": | |
0.013 ±(99.9%) 0.003 MB/sec [Average] | |
(min, avg, max) = (0.006, 0.013, 0.018), stdev = 0.003 | |
CI (99.9%): [0.009, 0.016] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.mapEntrySetIteratorWhile:·gc.alloc.rate.norm": | |
111.387 ±(99.9%) 30.392 B/op [Average] | |
(min, avg, max) = (57.131, 111.387, 164.741), stdev = 28.428 | |
CI (99.9%): [80.995, 141.778] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.mapEntrySetIteratorWhile:·gc.count": | |
≈ 0 counts | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.mapEntrySetIteratorWhile:·perf": | |
Perf stats: | |
-------------------------------------------------- | |
14,418.26 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
84 page-faults:u # 5.826 /sec | |
76,961,709,126 cycles:u # 5.338 GHz (35.83%) | |
4,691,660,486 stalled-cycles-frontend:u # 6.10% frontend cycles idle (35.87%) | |
66,511,116,560 instructions:u # 0.86 insn per cycle | |
# 0.07 stalled cycles per insn (35.88%) | |
13,923,717,369 branches:u # 965.700 M/sec (35.90%) | |
430,040,466 branch-misses:u # 3.09% of all branches (35.90%) | |
22,301,552,804 L1-dcache-loads:u # 1.547 G/sec (35.77%) | |
3,009,943,980 L1-dcache-load-misses:u # 13.50% of all L1-dcache accesses (35.70%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
75,930,339 L1-icache-loads:u # 5.266 M/sec (35.74%) | |
556,132 L1-icache-load-misses:u # 0.73% of all L1-icache accesses (35.74%) | |
2,507,257 dTLB-loads:u # 173.895 K/sec (35.73%) | |
77,672 dTLB-load-misses:u # 3.10% of all dTLB cache accesses (35.73%) | |
19,187 iTLB-loads:u # 1.331 K/sec (35.72%) | |
2,417 iTLB-load-misses:u # 12.60% of all iTLB cache accesses (35.69%) | |
1,981,514,488 L1-dcache-prefetches:u # 137.431 M/sec (35.68%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.400194361 seconds time elapsed | |
41.027821000 seconds user | |
0.244938000 seconds sys | |
14,428.51 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
83 page-faults:u # 5.752 /sec | |
80,436,090,580 cycles:u # 5.575 GHz (35.77%) | |
5,070,315,773 stalled-cycles-frontend:u # 6.30% frontend cycles idle (35.83%) | |
72,018,813,895 instructions:u # 0.90 insn per cycle | |
# 0.07 stalled cycles per insn (35.84%) | |
15,067,476,657 branches:u # 1.044 G/sec (35.84%) | |
471,438,830 branch-misses:u # 3.13% of all branches (35.86%) | |
23,735,264,032 L1-dcache-loads:u # 1.645 G/sec (35.82%) | |
3,237,490,168 L1-dcache-load-misses:u # 13.64% of all L1-dcache accesses (35.74%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
79,142,945 L1-icache-loads:u # 5.485 M/sec (35.76%) | |
551,133 L1-icache-load-misses:u # 0.70% of all L1-icache accesses (35.76%) | |
2,468,167 dTLB-loads:u # 171.062 K/sec (35.74%) | |
18,942 dTLB-load-misses:u # 0.77% of all dTLB cache accesses (35.73%) | |
6,396 iTLB-loads:u # 443.289 /sec (35.72%) | |
971 iTLB-load-misses:u # 15.18% of all iTLB cache accesses (35.71%) | |
2,178,212,421 L1-dcache-prefetches:u # 150.966 M/sec (35.70%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.410319176 seconds time elapsed | |
40.604065000 seconds user | |
0.587891000 seconds sys | |
14,424.58 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
82 page-faults:u # 5.685 /sec | |
77,451,576,367 cycles:u # 5.369 GHz (35.79%) | |
4,789,407,239 stalled-cycles-frontend:u # 6.18% frontend cycles idle (35.83%) | |
66,882,984,521 instructions:u # 0.86 insn per cycle | |
# 0.07 stalled cycles per insn (35.83%) | |
13,990,951,158 branches:u # 969.938 M/sec (35.83%) | |
439,416,146 branch-misses:u # 3.14% of all branches (35.91%) | |
22,568,656,800 L1-dcache-loads:u # 1.565 G/sec (35.77%) | |
3,005,472,131 L1-dcache-load-misses:u # 13.32% of all L1-dcache accesses (35.73%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
81,135,439 L1-icache-loads:u # 5.625 M/sec (35.76%) | |
606,488 L1-icache-load-misses:u # 0.75% of all L1-icache accesses (35.75%) | |
2,752,810 dTLB-loads:u # 190.842 K/sec (35.74%) | |
32,467 dTLB-load-misses:u # 1.18% of all dTLB cache accesses (35.73%) | |
9,441 iTLB-loads:u # 654.508 /sec (35.73%) | |
2,079 iTLB-load-misses:u # 22.02% of all iTLB cache accesses (35.73%) | |
1,947,804,374 L1-dcache-prefetches:u # 135.034 M/sec (35.70%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.408124757 seconds time elapsed | |
41.061638000 seconds user | |
0.172749000 seconds sys | |
14,437.75 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
84 page-faults:u # 5.818 /sec | |
80,389,698,731 cycles:u # 5.568 GHz (35.81%) | |
5,025,336,613 stalled-cycles-frontend:u # 6.25% frontend cycles idle (35.84%) | |
71,997,014,291 instructions:u # 0.90 insn per cycle | |
# 0.07 stalled cycles per insn (35.84%) | |
15,062,840,314 branches:u # 1.043 G/sec (35.83%) | |
471,851,188 branch-misses:u # 3.13% of all branches (35.84%) | |
23,912,924,630 L1-dcache-loads:u # 1.656 G/sec (35.73%) | |
3,233,140,456 L1-dcache-load-misses:u # 13.52% of all L1-dcache accesses (35.76%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
90,185,874 L1-icache-loads:u # 6.247 M/sec (35.74%) | |
679,373 L1-icache-load-misses:u # 0.75% of all L1-icache accesses (35.73%) | |
2,032,183 dTLB-loads:u # 140.755 K/sec (35.73%) | |
11,629 dTLB-load-misses:u # 0.57% of all dTLB cache accesses (35.73%) | |
2,790 iTLB-loads:u # 193.243 /sec (35.73%) | |
1,457 iTLB-load-misses:u # 52.22% of all iTLB cache accesses (35.74%) | |
2,167,319,073 L1-dcache-prefetches:u # 150.115 M/sec (35.74%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.422973655 seconds time elapsed | |
41.074289000 seconds user | |
0.168845000 seconds sys | |
14,410.53 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
81 page-faults:u # 5.621 /sec | |
77,767,354,518 cycles:u # 5.397 GHz (35.80%) | |
4,819,970,440 stalled-cycles-frontend:u # 6.20% frontend cycles idle (35.89%) | |
69,240,654,444 instructions:u # 0.89 insn per cycle | |
# 0.07 stalled cycles per insn (35.90%) | |
14,494,472,055 branches:u # 1.006 G/sec (35.92%) | |
453,673,887 branch-misses:u # 3.13% of all branches (35.93%) | |
23,039,857,574 L1-dcache-loads:u # 1.599 G/sec (35.81%) | |
3,135,362,881 L1-dcache-load-misses:u # 13.61% of all L1-dcache accesses (35.71%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
78,500,006 L1-icache-loads:u # 5.447 M/sec (35.73%) | |
580,381 L1-icache-load-misses:u # 0.74% of all L1-icache accesses (35.72%) | |
2,430,757 dTLB-loads:u # 168.679 K/sec (35.70%) | |
105,413 dTLB-load-misses:u # 4.34% of all dTLB cache accesses (35.69%) | |
41,845 iTLB-loads:u # 2.904 K/sec (35.68%) | |
3,872 iTLB-load-misses:u # 9.25% of all iTLB cache accesses (35.66%) | |
2,125,505,903 L1-dcache-prefetches:u # 147.497 M/sec (35.66%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.398303547 seconds time elapsed | |
41.035190000 seconds user | |
0.198961000 seconds sys | |
# JMH version: 1.36 | |
# VM version: JDK 21.0.4, OpenJDK 64-Bit Server VM, 21.0.4+7-LTS | |
# VM invoker: /home/nick/.jdks/azul-21.0.4/bin/java | |
# VM options: -Dfile.encoding=UTF-8 -Duser.country=GB -Duser.language=en -Duser.variant | |
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) | |
# Warmup: 5 iterations, 5 s each | |
# Measurement: 3 iterations, 5 s each | |
# Timeout: 10 min per iteration | |
# Threads: 1 thread, will synchronize iterations | |
# Benchmark mode: Sampling time | |
# Benchmark: uk.co.palmr.benchmarks.ForLoopBenchmark.objectArrayEnhancedFor | |
# Run progress: 65.00% complete, ETA 00:23:34 | |
# Fork: 1 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 118.557 ±(99.9%) 0.260 us/op | |
# Warmup Iteration 2: 118.407 ±(99.9%) 0.057 us/op | |
# Warmup Iteration 3: 119.591 ±(99.9%) 0.193 us/op | |
# Warmup Iteration 4: 117.057 ±(99.9%) 0.173 us/op | |
# Warmup Iteration 5: 118.020 ±(99.9%) 0.175 us/op | |
Iteration 1: 116.340 ±(99.9%) 0.111 us/op | |
objectArrayEnhancedFor·p0.00: 110.080 us/op | |
objectArrayEnhancedFor·p0.50: 114.560 us/op | |
objectArrayEnhancedFor·p0.90: 119.552 us/op | |
objectArrayEnhancedFor·p0.95: 122.624 us/op | |
objectArrayEnhancedFor·p0.99: 140.288 us/op | |
objectArrayEnhancedFor·p0.999: 189.484 us/op | |
objectArrayEnhancedFor·p0.9999: 259.249 us/op | |
objectArrayEnhancedFor·p1.00: 632.832 us/op | |
·gc.alloc.rate: 0.025 MB/sec | |
·gc.alloc.rate.norm: 3.098 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 115.317 ±(99.9%) 0.075 us/op | |
objectArrayEnhancedFor·p0.00: 110.592 us/op | |
objectArrayEnhancedFor·p0.50: 114.560 us/op | |
objectArrayEnhancedFor·p0.90: 118.400 us/op | |
objectArrayEnhancedFor·p0.95: 119.808 us/op | |
objectArrayEnhancedFor·p0.99: 125.568 us/op | |
objectArrayEnhancedFor·p0.999: 187.762 us/op | |
objectArrayEnhancedFor·p0.9999: 216.663 us/op | |
objectArrayEnhancedFor·p1.00: 411.648 us/op | |
·gc.alloc.rate: 0.019 MB/sec | |
·gc.alloc.rate.norm: 2.322 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 115.339 ±(99.9%) 0.084 us/op | |
objectArrayEnhancedFor·p0.00: 112.128 us/op | |
objectArrayEnhancedFor·p0.50: 114.560 us/op | |
objectArrayEnhancedFor·p0.90: 118.400 us/op | |
objectArrayEnhancedFor·p0.95: 119.680 us/op | |
objectArrayEnhancedFor·p0.99: 127.341 us/op | |
objectArrayEnhancedFor·p0.999: 180.224 us/op | |
objectArrayEnhancedFor·p0.9999: 250.093 us/op | |
objectArrayEnhancedFor·p1.00: 651.264 us/op | |
·gc.alloc.rate: 0.025 MB/sec | |
·gc.alloc.rate.norm: 2.982 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 66.00% complete, ETA 00:22:53 | |
# Fork: 2 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 118.808 ±(99.9%) 0.234 us/op | |
# Warmup Iteration 2: 118.580 ±(99.9%) 0.051 us/op | |
# Warmup Iteration 3: 118.839 ±(99.9%) 0.054 us/op | |
# Warmup Iteration 4: 118.369 ±(99.9%) 0.039 us/op | |
# Warmup Iteration 5: 118.384 ±(99.9%) 0.047 us/op | |
Iteration 1: 118.858 ±(99.9%) 0.039 us/op | |
objectArrayEnhancedFor·p0.00: 116.736 us/op | |
objectArrayEnhancedFor·p0.50: 118.400 us/op | |
objectArrayEnhancedFor·p0.90: 121.472 us/op | |
objectArrayEnhancedFor·p0.95: 122.752 us/op | |
objectArrayEnhancedFor·p0.99: 125.440 us/op | |
objectArrayEnhancedFor·p0.999: 138.974 us/op | |
objectArrayEnhancedFor·p0.9999: 205.289 us/op | |
objectArrayEnhancedFor·p1.00: 305.152 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 2.256 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 118.979 ±(99.9%) 0.039 us/op | |
objectArrayEnhancedFor·p0.00: 116.736 us/op | |
objectArrayEnhancedFor·p0.50: 118.400 us/op | |
objectArrayEnhancedFor·p0.90: 122.112 us/op | |
objectArrayEnhancedFor·p0.95: 123.264 us/op | |
objectArrayEnhancedFor·p0.99: 126.989 us/op | |
objectArrayEnhancedFor·p0.999: 137.475 us/op | |
objectArrayEnhancedFor·p0.9999: 161.695 us/op | |
objectArrayEnhancedFor·p1.00: 267.776 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 2.259 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 118.892 ±(99.9%) 0.036 us/op | |
objectArrayEnhancedFor·p0.00: 117.760 us/op | |
objectArrayEnhancedFor·p0.50: 118.400 us/op | |
objectArrayEnhancedFor·p0.90: 121.856 us/op | |
objectArrayEnhancedFor·p0.95: 122.880 us/op | |
objectArrayEnhancedFor·p0.99: 125.696 us/op | |
objectArrayEnhancedFor·p0.999: 136.181 us/op | |
objectArrayEnhancedFor·p0.9999: 184.004 us/op | |
objectArrayEnhancedFor·p1.00: 265.728 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 2.242 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 67.00% complete, ETA 00:22:13 | |
# Fork: 3 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 115.704 ±(99.9%) 0.240 us/op | |
# Warmup Iteration 2: 114.671 ±(99.9%) 0.042 us/op | |
# Warmup Iteration 3: 114.278 ±(99.9%) 0.033 us/op | |
# Warmup Iteration 4: 115.320 ±(99.9%) 0.089 us/op | |
# Warmup Iteration 5: 115.354 ±(99.9%) 0.066 us/op | |
Iteration 1: 115.871 ±(99.9%) 0.066 us/op | |
objectArrayEnhancedFor·p0.00: 113.536 us/op | |
objectArrayEnhancedFor·p0.50: 114.688 us/op | |
objectArrayEnhancedFor·p0.90: 119.168 us/op | |
objectArrayEnhancedFor·p0.95: 122.112 us/op | |
objectArrayEnhancedFor·p0.99: 128.128 us/op | |
objectArrayEnhancedFor·p0.999: 137.954 us/op | |
objectArrayEnhancedFor·p0.9999: 271.845 us/op | |
objectArrayEnhancedFor·p1.00: 483.840 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 2.219 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 115.789 ±(99.9%) 0.058 us/op | |
objectArrayEnhancedFor·p0.00: 111.104 us/op | |
objectArrayEnhancedFor·p0.50: 114.688 us/op | |
objectArrayEnhancedFor·p0.90: 119.040 us/op | |
objectArrayEnhancedFor·p0.95: 122.240 us/op | |
objectArrayEnhancedFor·p0.99: 128.768 us/op | |
objectArrayEnhancedFor·p0.999: 139.957 us/op | |
objectArrayEnhancedFor·p0.9999: 226.611 us/op | |
objectArrayEnhancedFor·p1.00: 404.480 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 2.241 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 117.848 ±(99.9%) 0.062 us/op | |
objectArrayEnhancedFor·p0.00: 113.536 us/op | |
objectArrayEnhancedFor·p0.50: 117.888 us/op | |
objectArrayEnhancedFor·p0.90: 121.344 us/op | |
objectArrayEnhancedFor·p0.95: 122.752 us/op | |
objectArrayEnhancedFor·p0.99: 126.592 us/op | |
objectArrayEnhancedFor·p0.999: 138.240 us/op | |
objectArrayEnhancedFor·p0.9999: 202.208 us/op | |
objectArrayEnhancedFor·p1.00: 501.760 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 2.275 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 68.00% complete, ETA 00:21:33 | |
# Fork: 4 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 114.820 ±(99.9%) 0.224 us/op | |
# Warmup Iteration 2: 115.712 ±(99.9%) 0.057 us/op | |
# Warmup Iteration 3: 115.190 ±(99.9%) 0.069 us/op | |
# Warmup Iteration 4: 115.812 ±(99.9%) 0.102 us/op | |
# Warmup Iteration 5: 117.990 ±(99.9%) 0.131 us/op | |
Iteration 1: 119.792 ±(99.9%) 0.098 us/op | |
objectArrayEnhancedFor·p0.00: 116.736 us/op | |
objectArrayEnhancedFor·p0.50: 118.400 us/op | |
objectArrayEnhancedFor·p0.90: 122.368 us/op | |
objectArrayEnhancedFor·p0.95: 123.904 us/op | |
objectArrayEnhancedFor·p0.99: 141.025 us/op | |
objectArrayEnhancedFor·p0.999: 190.720 us/op | |
objectArrayEnhancedFor·p0.9999: 222.858 us/op | |
objectArrayEnhancedFor·p1.00: 424.448 us/op | |
·gc.alloc.rate: 0.019 MB/sec | |
·gc.alloc.rate.norm: 2.441 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 118.597 ±(99.9%) 0.131 us/op | |
objectArrayEnhancedFor·p0.00: 111.104 us/op | |
objectArrayEnhancedFor·p0.50: 117.888 us/op | |
objectArrayEnhancedFor·p0.90: 122.112 us/op | |
objectArrayEnhancedFor·p0.95: 124.032 us/op | |
objectArrayEnhancedFor·p0.99: 168.448 us/op | |
objectArrayEnhancedFor·p0.999: 194.048 us/op | |
objectArrayEnhancedFor·p0.9999: 231.059 us/op | |
objectArrayEnhancedFor·p1.00: 413.696 us/op | |
·gc.alloc.rate: 0.020 MB/sec | |
·gc.alloc.rate.norm: 2.508 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 116.037 ±(99.9%) 0.095 us/op | |
objectArrayEnhancedFor·p0.00: 113.024 us/op | |
objectArrayEnhancedFor·p0.50: 114.560 us/op | |
objectArrayEnhancedFor·p0.90: 119.040 us/op | |
objectArrayEnhancedFor·p0.95: 121.600 us/op | |
objectArrayEnhancedFor·p0.99: 139.520 us/op | |
objectArrayEnhancedFor·p0.999: 184.803 us/op | |
objectArrayEnhancedFor·p0.9999: 203.520 us/op | |
objectArrayEnhancedFor·p1.00: 297.984 us/op | |
·gc.alloc.rate: 0.020 MB/sec | |
·gc.alloc.rate.norm: 2.389 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 69.00% complete, ETA 00:20:52 | |
# Fork: 5 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 115.681 ±(99.9%) 0.236 us/op | |
# Warmup Iteration 2: 114.662 ±(99.9%) 0.081 us/op | |
# Warmup Iteration 3: 118.468 ±(99.9%) 0.096 us/op | |
# Warmup Iteration 4: 124.223 ±(99.9%) 0.242 us/op | |
# Warmup Iteration 5: 120.507 ±(99.9%) 0.163 us/op | |
Iteration 1: 117.741 ±(99.9%) 0.127 us/op | |
objectArrayEnhancedFor·p0.00: 113.536 us/op | |
objectArrayEnhancedFor·p0.50: 116.096 us/op | |
objectArrayEnhancedFor·p0.90: 121.344 us/op | |
objectArrayEnhancedFor·p0.95: 124.160 us/op | |
objectArrayEnhancedFor·p0.99: 151.296 us/op | |
objectArrayEnhancedFor·p0.999: 211.048 us/op | |
objectArrayEnhancedFor·p0.9999: 277.255 us/op | |
objectArrayEnhancedFor·p1.00: 535.552 us/op | |
·gc.alloc.rate: 0.026 MB/sec | |
·gc.alloc.rate.norm: 3.173 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 119.283 ±(99.9%) 0.184 us/op | |
objectArrayEnhancedFor·p0.00: 110.080 us/op | |
objectArrayEnhancedFor·p0.50: 115.712 us/op | |
objectArrayEnhancedFor·p0.90: 125.056 us/op | |
objectArrayEnhancedFor·p0.95: 141.568 us/op | |
objectArrayEnhancedFor·p0.99: 173.107 us/op | |
objectArrayEnhancedFor·p0.999: 209.920 us/op | |
objectArrayEnhancedFor·p0.9999: 282.300 us/op | |
objectArrayEnhancedFor·p1.00: 420.352 us/op | |
·gc.alloc.rate: 0.021 MB/sec | |
·gc.alloc.rate.norm: 2.571 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 114.917 ±(99.9%) 0.079 us/op | |
objectArrayEnhancedFor·p0.00: 112.512 us/op | |
objectArrayEnhancedFor·p0.50: 114.432 us/op | |
objectArrayEnhancedFor·p0.90: 118.016 us/op | |
objectArrayEnhancedFor·p0.95: 118.912 us/op | |
objectArrayEnhancedFor·p0.99: 123.776 us/op | |
objectArrayEnhancedFor·p0.999: 168.839 us/op | |
objectArrayEnhancedFor·p0.9999: 397.139 us/op | |
objectArrayEnhancedFor·p1.00: 506.880 us/op | |
·gc.alloc.rate: 0.019 MB/sec | |
·gc.alloc.rate.norm: 2.259 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
Result "uk.co.palmr.benchmarks.ForLoopBenchmark.objectArrayEnhancedFor": | |
N = 638942 | |
mean = 117.284 ±(99.9%) 0.025 us/op | |
Histogram, us/op: | |
[100.000, 150.000) = 634792 | |
[150.000, 200.000) = 3835 | |
[200.000, 250.000) = 261 | |
[250.000, 300.000) = 31 | |
[300.000, 350.000) = 4 | |
[350.000, 400.000) = 2 | |
[400.000, 450.000) = 8 | |
[450.000, 500.000) = 4 | |
[500.000, 550.000) = 3 | |
[550.000, 600.000) = 0 | |
[600.000, 650.000) = 1 | |
Percentiles, us/op: | |
p(0.0000) = 110.080 us/op | |
p(50.0000) = 116.736 us/op | |
p(90.0000) = 120.704 us/op | |
p(95.0000) = 122.880 us/op | |
p(99.0000) = 136.704 us/op | |
p(99.9000) = 188.672 us/op | |
p(99.9900) = 234.550 us/op | |
p(99.9990) = 479.055 us/op | |
p(99.9999) = 651.264 us/op | |
p(100.0000) = 651.264 us/op | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.objectArrayEnhancedFor:·gc.alloc.rate": | |
0.020 ±(99.9%) 0.003 MB/sec [Average] | |
(min, avg, max) = (0.018, 0.020, 0.026), stdev = 0.003 | |
CI (99.9%): [0.017, 0.023] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.objectArrayEnhancedFor:·gc.alloc.rate.norm": | |
2.482 ±(99.9%) 0.353 B/op [Average] | |
(min, avg, max) = (2.219, 2.482, 3.173), stdev = 0.330 | |
CI (99.9%): [2.129, 2.836] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.objectArrayEnhancedFor:·gc.count": | |
≈ 0 counts | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.objectArrayEnhancedFor:·perf": | |
Perf stats: | |
-------------------------------------------------- | |
14,412.35 msec task-clock:u # 1.002 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
1,285 page-faults:u # 89.160 /sec | |
78,697,998,783 cycles:u # 5.460 GHz (35.81%) | |
376,202,293 stalled-cycles-frontend:u # 0.48% frontend cycles idle (35.85%) | |
294,715,518,718 instructions:u # 3.74 insn per cycle | |
# 0.00 stalled cycles per insn (35.88%) | |
15,554,914,717 branches:u # 1.079 G/sec (35.90%) | |
18,942,000 branch-misses:u # 0.12% of all branches (35.92%) | |
124,385,784,332 L1-dcache-loads:u # 8.631 G/sec (35.79%) | |
7,781,944,316 L1-dcache-load-misses:u # 6.26% of all L1-dcache accesses (35.76%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
65,916,445 L1-icache-loads:u # 4.574 M/sec (35.77%) | |
698,165 L1-icache-load-misses:u # 1.06% of all L1-icache accesses (35.76%) | |
573,252 dTLB-loads:u # 39.775 K/sec (35.73%) | |
6,408 dTLB-load-misses:u # 1.12% of all dTLB cache accesses (35.69%) | |
2,088 iTLB-loads:u # 144.876 /sec (35.67%) | |
173 iTLB-load-misses:u # 8.29% of all iTLB cache accesses (35.71%) | |
7,762,851,365 L1-dcache-prefetches:u # 538.625 M/sec (35.70%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.381931397 seconds time elapsed | |
41.032303000 seconds user | |
0.205327000 seconds sys | |
14,398.28 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
60 page-faults:u # 4.167 /sec | |
76,048,713,622 cycles:u # 5.282 GHz (35.81%) | |
355,475,897 stalled-cycles-frontend:u # 0.47% frontend cycles idle (35.83%) | |
285,994,333,371 instructions:u # 3.76 insn per cycle | |
# 0.00 stalled cycles per insn (35.87%) | |
15,078,818,873 branches:u # 1.047 G/sec (35.87%) | |
17,001,937 branch-misses:u # 0.11% of all branches (35.87%) | |
120,843,822,522 L1-dcache-loads:u # 8.393 G/sec (35.73%) | |
7,560,549,884 L1-dcache-load-misses:u # 6.26% of all L1-dcache accesses (35.73%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
56,200,142 L1-icache-loads:u # 3.903 M/sec (35.67%) | |
553,019 L1-icache-load-misses:u # 0.98% of all L1-icache accesses (35.75%) | |
21,582 dTLB-loads:u # 1.499 K/sec (35.75%) | |
75 dTLB-load-misses:u # 0.35% of all dTLB cache accesses (35.74%) | |
89 iTLB-loads:u # 6.181 /sec (35.73%) | |
41 iTLB-load-misses:u # 46.07% of all iTLB cache accesses (35.73%) | |
7,534,978,238 L1-dcache-prefetches:u # 523.325 M/sec (35.72%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.381805457 seconds time elapsed | |
41.012920000 seconds user | |
0.232864000 seconds sys | |
14,402.28 msec task-clock:u # 1.002 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
804 page-faults:u # 55.825 /sec | |
77,793,270,691 cycles:u # 5.401 GHz (35.80%) | |
383,977,746 stalled-cycles-frontend:u # 0.49% frontend cycles idle (35.85%) | |
291,923,637,831 instructions:u # 3.75 insn per cycle | |
# 0.00 stalled cycles per insn (35.87%) | |
15,428,197,673 branches:u # 1.071 G/sec (35.88%) | |
18,606,989 branch-misses:u # 0.12% of all branches (35.90%) | |
123,354,412,543 L1-dcache-loads:u # 8.565 G/sec (35.76%) | |
7,717,889,629 L1-dcache-load-misses:u # 6.26% of all L1-dcache accesses (35.72%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
62,133,494 L1-icache-loads:u # 4.314 M/sec (35.78%) | |
515,764 L1-icache-load-misses:u # 0.83% of all L1-icache accesses (35.75%) | |
119,116 dTLB-loads:u # 8.271 K/sec (35.73%) | |
1,719 dTLB-load-misses:u # 1.44% of all dTLB cache accesses (35.71%) | |
344 iTLB-loads:u # 23.885 /sec (35.70%) | |
215 iTLB-load-misses:u # 62.50% of all iTLB cache accesses (35.73%) | |
7,689,953,576 L1-dcache-prefetches:u # 533.940 M/sec (35.71%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.376844306 seconds time elapsed | |
40.838478000 seconds user | |
0.343874000 seconds sys | |
14,393.84 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
319 page-faults:u # 22.162 /sec | |
77,150,422,649 cycles:u # 5.360 GHz (35.79%) | |
351,609,969 stalled-cycles-frontend:u # 0.46% frontend cycles idle (35.81%) | |
288,548,363,930 instructions:u # 3.74 insn per cycle | |
# 0.00 stalled cycles per insn (35.82%) | |
15,207,803,847 branches:u # 1.057 G/sec (35.86%) | |
17,643,804 branch-misses:u # 0.12% of all branches (35.86%) | |
121,603,072,201 L1-dcache-loads:u # 8.448 G/sec (35.80%) | |
7,607,292,568 L1-dcache-load-misses:u # 6.26% of all L1-dcache accesses (35.80%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
65,007,379 L1-icache-loads:u # 4.516 M/sec (35.78%) | |
482,740 L1-icache-load-misses:u # 0.74% of all L1-icache accesses (35.73%) | |
137,577 dTLB-loads:u # 9.558 K/sec (35.72%) | |
677 dTLB-load-misses:u # 0.49% of all dTLB cache accesses (35.74%) | |
6,151 iTLB-loads:u # 427.336 /sec (35.73%) | |
862 iTLB-load-misses:u # 14.01% of all iTLB cache accesses (35.72%) | |
7,602,739,347 L1-dcache-prefetches:u # 528.194 M/sec (35.72%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.384486828 seconds time elapsed | |
40.883319000 seconds user | |
0.307061000 seconds sys | |
14,393.65 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
82 page-faults:u # 5.697 /sec | |
77,893,862,363 cycles:u # 5.412 GHz (35.77%) | |
382,253,840 stalled-cycles-frontend:u # 0.49% frontend cycles idle (35.82%) | |
289,766,270,874 instructions:u # 3.72 insn per cycle | |
# 0.00 stalled cycles per insn (35.85%) | |
15,276,421,337 branches:u # 1.061 G/sec (35.85%) | |
17,595,841 branch-misses:u # 0.12% of all branches (35.84%) | |
122,153,531,191 L1-dcache-loads:u # 8.487 G/sec (35.82%) | |
7,651,822,703 L1-dcache-load-misses:u # 6.26% of all L1-dcache accesses (35.76%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
57,814,266 L1-icache-loads:u # 4.017 M/sec (35.74%) | |
597,401 L1-icache-load-misses:u # 1.03% of all L1-icache accesses (35.76%) | |
221,315 dTLB-loads:u # 15.376 K/sec (35.76%) | |
4,601 dTLB-load-misses:u # 2.08% of all dTLB cache accesses (35.73%) | |
17,264 iTLB-loads:u # 1.199 K/sec (35.73%) | |
1,033 iTLB-load-misses:u # 5.98% of all iTLB cache accesses (35.72%) | |
7,642,283,716 L1-dcache-prefetches:u # 530.948 M/sec (35.72%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.386172187 seconds time elapsed | |
41.019877000 seconds user | |
0.175064000 seconds sys | |
# JMH version: 1.36 | |
# VM version: JDK 21.0.4, OpenJDK 64-Bit Server VM, 21.0.4+7-LTS | |
# VM invoker: /home/nick/.jdks/azul-21.0.4/bin/java | |
# VM options: -Dfile.encoding=UTF-8 -Duser.country=GB -Duser.language=en -Duser.variant | |
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) | |
# Warmup: 5 iterations, 5 s each | |
# Measurement: 3 iterations, 5 s each | |
# Timeout: 10 min per iteration | |
# Threads: 1 thread, will synchronize iterations | |
# Benchmark mode: Sampling time | |
# Benchmark: uk.co.palmr.benchmarks.ForLoopBenchmark.objectArrayForI | |
# Run progress: 70.00% complete, ETA 00:20:12 | |
# Fork: 1 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 115.287 ±(99.9%) 0.263 us/op | |
# Warmup Iteration 2: 114.548 ±(99.9%) 0.056 us/op | |
# Warmup Iteration 3: 115.258 ±(99.9%) 0.084 us/op | |
# Warmup Iteration 4: 115.223 ±(99.9%) 0.057 us/op | |
# Warmup Iteration 5: 115.209 ±(99.9%) 0.066 us/op | |
Iteration 1: 119.313 ±(99.9%) 0.126 us/op | |
objectArrayForI·p0.00: 113.536 us/op | |
objectArrayForI·p0.50: 118.400 us/op | |
objectArrayForI·p0.90: 123.520 us/op | |
objectArrayForI·p0.95: 127.872 us/op | |
objectArrayForI·p0.99: 150.784 us/op | |
objectArrayForI·p0.999: 201.570 us/op | |
objectArrayForI·p0.9999: 281.732 us/op | |
objectArrayForI·p1.00: 427.520 us/op | |
·gc.alloc.rate: 0.020 MB/sec | |
·gc.alloc.rate.norm: 2.510 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 118.407 ±(99.9%) 0.085 us/op | |
objectArrayForI·p0.00: 110.976 us/op | |
objectArrayForI·p0.50: 118.400 us/op | |
objectArrayForI·p0.90: 122.240 us/op | |
objectArrayForI·p0.95: 123.904 us/op | |
objectArrayForI·p0.99: 129.673 us/op | |
objectArrayForI·p0.999: 196.559 us/op | |
objectArrayForI·p0.9999: 315.342 us/op | |
objectArrayForI·p1.00: 452.608 us/op | |
·gc.alloc.rate: 0.019 MB/sec | |
·gc.alloc.rate.norm: 2.359 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 115.851 ±(99.9%) 0.074 us/op | |
objectArrayForI·p0.00: 113.024 us/op | |
objectArrayForI·p0.50: 114.688 us/op | |
objectArrayForI·p0.90: 118.912 us/op | |
objectArrayForI·p0.95: 121.344 us/op | |
objectArrayForI·p0.99: 127.872 us/op | |
objectArrayForI·p0.999: 170.109 us/op | |
objectArrayForI·p0.9999: 208.463 us/op | |
objectArrayForI·p1.00: 471.552 us/op | |
·gc.alloc.rate: 0.019 MB/sec | |
·gc.alloc.rate.norm: 2.331 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 71.00% complete, ETA 00:19:31 | |
# Fork: 2 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 119.902 ±(99.9%) 0.285 us/op | |
# Warmup Iteration 2: 116.309 ±(99.9%) 0.057 us/op | |
# Warmup Iteration 3: 118.270 ±(99.9%) 0.045 us/op | |
# Warmup Iteration 4: 118.856 ±(99.9%) 0.068 us/op | |
# Warmup Iteration 5: 118.527 ±(99.9%) 0.040 us/op | |
Iteration 1: 117.606 ±(99.9%) 0.122 us/op | |
objectArrayForI·p0.00: 111.488 us/op | |
objectArrayForI·p0.50: 114.688 us/op | |
objectArrayForI·p0.90: 121.984 us/op | |
objectArrayForI·p0.95: 125.056 us/op | |
objectArrayForI·p0.99: 152.576 us/op | |
objectArrayForI·p0.999: 195.850 us/op | |
objectArrayForI·p0.9999: 230.683 us/op | |
objectArrayForI·p1.00: 472.576 us/op | |
·gc.alloc.rate: 0.020 MB/sec | |
·gc.alloc.rate.norm: 2.466 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 116.923 ±(99.9%) 0.117 us/op | |
objectArrayForI·p0.00: 113.024 us/op | |
objectArrayForI·p0.50: 114.688 us/op | |
objectArrayForI·p0.90: 120.576 us/op | |
objectArrayForI·p0.95: 125.440 us/op | |
objectArrayForI·p0.99: 151.552 us/op | |
objectArrayForI·p0.999: 189.952 us/op | |
objectArrayForI·p0.9999: 212.361 us/op | |
objectArrayForI·p1.00: 267.776 us/op | |
·gc.alloc.rate: 0.020 MB/sec | |
·gc.alloc.rate.norm: 2.442 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 118.492 ±(99.9%) 0.191 us/op | |
objectArrayForI·p0.00: 113.024 us/op | |
objectArrayForI·p0.50: 114.688 us/op | |
objectArrayForI·p0.90: 122.496 us/op | |
objectArrayForI·p0.95: 136.192 us/op | |
objectArrayForI·p0.99: 180.736 us/op | |
objectArrayForI·p0.999: 212.438 us/op | |
objectArrayForI·p0.9999: 231.113 us/op | |
objectArrayForI·p1.00: 584.704 us/op | |
·gc.alloc.rate: 0.026 MB/sec | |
·gc.alloc.rate.norm: 3.236 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 72.00% complete, ETA 00:18:51 | |
# Fork: 3 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 115.445 ±(99.9%) 0.256 us/op | |
# Warmup Iteration 2: 115.746 ±(99.9%) 0.087 us/op | |
# Warmup Iteration 3: 117.531 ±(99.9%) 0.179 us/op | |
# Warmup Iteration 4: 115.267 ±(99.9%) 0.080 us/op | |
# Warmup Iteration 5: 114.629 ±(99.9%) 0.076 us/op | |
Iteration 1: 115.865 ±(99.9%) 0.086 us/op | |
objectArrayForI·p0.00: 111.616 us/op | |
objectArrayForI·p0.50: 114.560 us/op | |
objectArrayForI·p0.90: 118.784 us/op | |
objectArrayForI·p0.95: 120.832 us/op | |
objectArrayForI·p0.99: 129.280 us/op | |
objectArrayForI·p0.999: 182.211 us/op | |
objectArrayForI·p0.9999: 293.931 us/op | |
objectArrayForI·p1.00: 438.784 us/op | |
·gc.alloc.rate: 0.019 MB/sec | |
·gc.alloc.rate.norm: 2.350 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 117.133 ±(99.9%) 0.071 us/op | |
objectArrayForI·p0.00: 113.536 us/op | |
objectArrayForI·p0.50: 117.504 us/op | |
objectArrayForI·p0.90: 120.832 us/op | |
objectArrayForI·p0.95: 122.880 us/op | |
objectArrayForI·p0.99: 128.128 us/op | |
objectArrayForI·p0.999: 176.651 us/op | |
objectArrayForI·p0.9999: 217.856 us/op | |
objectArrayForI·p1.00: 271.872 us/op | |
·gc.alloc.rate: 0.019 MB/sec | |
·gc.alloc.rate.norm: 2.337 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 116.495 ±(99.9%) 0.097 us/op | |
objectArrayForI·p0.00: 109.952 us/op | |
objectArrayForI·p0.50: 114.688 us/op | |
objectArrayForI·p0.90: 119.680 us/op | |
objectArrayForI·p0.95: 122.240 us/op | |
objectArrayForI·p0.99: 131.072 us/op | |
objectArrayForI·p0.999: 200.448 us/op | |
objectArrayForI·p0.9999: 374.824 us/op | |
objectArrayForI·p1.00: 495.616 us/op | |
·gc.alloc.rate: 0.019 MB/sec | |
·gc.alloc.rate.norm: 2.346 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 73.00% complete, ETA 00:18:10 | |
# Fork: 4 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 119.030 ±(99.9%) 0.280 us/op | |
# Warmup Iteration 2: 123.550 ±(99.9%) 0.215 us/op | |
# Warmup Iteration 3: 119.495 ±(99.9%) 0.118 us/op | |
# Warmup Iteration 4: 118.260 ±(99.9%) 0.039 us/op | |
# Warmup Iteration 5: 118.177 ±(99.9%) 0.018 us/op | |
Iteration 1: 119.170 ±(99.9%) 0.032 us/op | |
objectArrayForI·p0.00: 116.608 us/op | |
objectArrayForI·p0.50: 118.400 us/op | |
objectArrayForI·p0.90: 121.728 us/op | |
objectArrayForI·p0.95: 123.264 us/op | |
objectArrayForI·p0.99: 125.696 us/op | |
objectArrayForI·p0.999: 134.164 us/op | |
objectArrayForI·p0.9999: 150.814 us/op | |
objectArrayForI·p1.00: 215.040 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 1.562 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 118.917 ±(99.9%) 0.034 us/op | |
objectArrayForI·p0.00: 116.736 us/op | |
objectArrayForI·p0.50: 118.400 us/op | |
objectArrayForI·p0.90: 121.984 us/op | |
objectArrayForI·p0.95: 122.880 us/op | |
objectArrayForI·p0.99: 125.298 us/op | |
objectArrayForI·p0.999: 132.861 us/op | |
objectArrayForI·p0.9999: 155.994 us/op | |
objectArrayForI·p1.00: 339.968 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 2.231 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 118.883 ±(99.9%) 0.030 us/op | |
objectArrayForI·p0.00: 116.736 us/op | |
objectArrayForI·p0.50: 118.400 us/op | |
objectArrayForI·p0.90: 121.984 us/op | |
objectArrayForI·p0.95: 122.880 us/op | |
objectArrayForI·p0.99: 125.408 us/op | |
objectArrayForI·p0.999: 133.114 us/op | |
objectArrayForI·p0.9999: 147.456 us/op | |
objectArrayForI·p1.00: 221.696 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 1.542 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 74.00% complete, ETA 00:17:30 | |
# Fork: 5 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 114.911 ±(99.9%) 0.261 us/op | |
# Warmup Iteration 2: 114.861 ±(99.9%) 0.041 us/op | |
# Warmup Iteration 3: 114.894 ±(99.9%) 0.049 us/op | |
# Warmup Iteration 4: 115.068 ±(99.9%) 0.045 us/op | |
# Warmup Iteration 5: 115.096 ±(99.9%) 0.062 us/op | |
Iteration 1: 115.183 ±(99.9%) 0.064 us/op | |
objectArrayForI·p0.00: 113.024 us/op | |
objectArrayForI·p0.50: 114.176 us/op | |
objectArrayForI·p0.90: 118.272 us/op | |
objectArrayForI·p0.95: 119.936 us/op | |
objectArrayForI·p0.99: 123.904 us/op | |
objectArrayForI·p0.999: 137.216 us/op | |
objectArrayForI·p0.9999: 265.195 us/op | |
objectArrayForI·p1.00: 475.648 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 2.213 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 115.403 ±(99.9%) 0.093 us/op | |
objectArrayForI·p0.00: 113.024 us/op | |
objectArrayForI·p0.50: 114.176 us/op | |
objectArrayForI·p0.90: 118.528 us/op | |
objectArrayForI·p0.95: 119.808 us/op | |
objectArrayForI·p0.99: 124.032 us/op | |
objectArrayForI·p0.999: 134.323 us/op | |
objectArrayForI·p0.9999: 455.184 us/op | |
objectArrayForI·p1.00: 731.136 us/op | |
·gc.alloc.rate: 0.024 MB/sec | |
·gc.alloc.rate.norm: 2.872 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 116.491 ±(99.9%) 0.078 us/op | |
objectArrayForI·p0.00: 113.536 us/op | |
objectArrayForI·p0.50: 114.688 us/op | |
objectArrayForI·p0.90: 120.064 us/op | |
objectArrayForI·p0.95: 123.008 us/op | |
objectArrayForI·p0.99: 140.288 us/op | |
objectArrayForI·p0.999: 158.520 us/op | |
objectArrayForI·p0.9999: 215.722 us/op | |
objectArrayForI·p1.00: 273.920 us/op | |
·gc.alloc.rate: 0.019 MB/sec | |
·gc.alloc.rate.norm: 2.331 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
Result "uk.co.palmr.benchmarks.ForLoopBenchmark.objectArrayForI": | |
N = 638740 | |
mean = 117.325 ±(99.9%) 0.025 us/op | |
Histogram, us/op: | |
[100.000, 150.000) = 635254 | |
[150.000, 200.000) = 3118 | |
[200.000, 250.000) = 316 | |
[250.000, 300.000) = 22 | |
[300.000, 350.000) = 5 | |
[350.000, 400.000) = 0 | |
[400.000, 450.000) = 14 | |
[450.000, 500.000) = 8 | |
[500.000, 550.000) = 0 | |
[550.000, 600.000) = 2 | |
[600.000, 650.000) = 0 | |
[650.000, 700.000) = 0 | |
[700.000, 750.000) = 1 | |
Percentiles, us/op: | |
p(0.0000) = 109.952 us/op | |
p(50.0000) = 116.736 us/op | |
p(90.0000) = 120.832 us/op | |
p(95.0000) = 123.264 us/op | |
p(99.0000) = 138.752 us/op | |
p(99.9000) = 190.208 us/op | |
p(99.9900) = 230.241 us/op | |
p(99.9990) = 472.179 us/op | |
p(99.9999) = 731.136 us/op | |
p(100.0000) = 731.136 us/op | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.objectArrayForI:·gc.alloc.rate": | |
0.019 ±(99.9%) 0.004 MB/sec [Average] | |
(min, avg, max) = (0.012, 0.019, 0.026), stdev = 0.003 | |
CI (99.9%): [0.015, 0.023] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.objectArrayForI:·gc.alloc.rate.norm": | |
2.342 ±(99.9%) 0.444 B/op [Average] | |
(min, avg, max) = (1.542, 2.342, 3.236), stdev = 0.415 | |
CI (99.9%): [1.898, 2.786] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.objectArrayForI:·gc.count": | |
≈ 0 counts | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.objectArrayForI:·perf": | |
Perf stats: | |
-------------------------------------------------- | |
14,401.24 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
1,100 page-faults:u # 76.382 /sec | |
77,075,227,702 cycles:u # 5.352 GHz (35.78%) | |
391,205,664 stalled-cycles-frontend:u # 0.51% frontend cycles idle (35.80%) | |
288,571,457,039 instructions:u # 3.74 insn per cycle | |
# 0.00 stalled cycles per insn (35.83%) | |
15,225,535,669 branches:u # 1.057 G/sec (35.92%) | |
18,268,830 branch-misses:u # 0.12% of all branches (35.94%) | |
121,828,588,575 L1-dcache-loads:u # 8.460 G/sec (35.81%) | |
7,620,507,264 L1-dcache-load-misses:u # 6.26% of all L1-dcache accesses (35.80%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
69,394,060 L1-icache-loads:u # 4.819 M/sec (35.79%) | |
588,547 L1-icache-load-misses:u # 0.85% of all L1-icache accesses (35.75%) | |
525,612 dTLB-loads:u # 36.498 K/sec (35.73%) | |
18,816 dTLB-load-misses:u # 3.58% of all dTLB cache accesses (35.72%) | |
6,146 iTLB-loads:u # 426.769 /sec (35.68%) | |
1,970 iTLB-load-misses:u # 32.05% of all iTLB cache accesses (35.67%) | |
7,596,213,234 L1-dcache-prefetches:u # 527.469 M/sec (35.70%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.383807636 seconds time elapsed | |
40.850887000 seconds user | |
0.302311000 seconds sys | |
14,404.35 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
1,021 page-faults:u # 70.881 /sec | |
78,005,803,130 cycles:u # 5.415 GHz (35.76%) | |
390,085,527 stalled-cycles-frontend:u # 0.50% frontend cycles idle (35.79%) | |
289,273,307,764 instructions:u # 3.71 insn per cycle | |
# 0.00 stalled cycles per insn (35.82%) | |
15,270,833,020 branches:u # 1.060 G/sec (35.86%) | |
18,387,929 branch-misses:u # 0.12% of all branches (35.97%) | |
121,866,241,018 L1-dcache-loads:u # 8.460 G/sec (35.86%) | |
7,628,307,540 L1-dcache-load-misses:u # 6.26% of all L1-dcache accesses (35.84%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
71,571,245 L1-icache-loads:u # 4.969 M/sec (35.80%) | |
599,037 L1-icache-load-misses:u # 0.84% of all L1-icache accesses (35.77%) | |
781,011 dTLB-loads:u # 54.220 K/sec (35.73%) | |
14,636 dTLB-load-misses:u # 1.87% of all dTLB cache accesses (35.71%) | |
20,180 iTLB-loads:u # 1.401 K/sec (35.68%) | |
3,220 iTLB-load-misses:u # 15.96% of all iTLB cache accesses (35.71%) | |
7,618,839,590 L1-dcache-prefetches:u # 528.926 M/sec (35.68%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.383914618 seconds time elapsed | |
41.029120000 seconds user | |
0.204158000 seconds sys | |
14,387.45 msec task-clock:u # 1.000 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
177 page-faults:u # 12.302 /sec | |
77,880,578,982 cycles:u # 5.413 GHz (35.78%) | |
372,526,687 stalled-cycles-frontend:u # 0.48% frontend cycles idle (35.81%) | |
291,938,998,836 instructions:u # 3.75 insn per cycle | |
# 0.00 stalled cycles per insn (35.81%) | |
15,394,478,921 branches:u # 1.070 G/sec (35.83%) | |
17,512,914 branch-misses:u # 0.11% of all branches (35.91%) | |
123,192,305,468 L1-dcache-loads:u # 8.562 G/sec (35.79%) | |
7,711,036,650 L1-dcache-load-misses:u # 6.26% of all L1-dcache accesses (35.76%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
57,008,305 L1-icache-loads:u # 3.962 M/sec (35.73%) | |
444,945 L1-icache-load-misses:u # 0.78% of all L1-icache accesses (35.75%) | |
54,013 dTLB-loads:u # 3.754 K/sec (35.74%) | |
828 dTLB-load-misses:u # 1.53% of all dTLB cache accesses (35.74%) | |
1,706 iTLB-loads:u # 118.576 /sec (35.75%) | |
1,821 iTLB-load-misses:u # 106.74% of all iTLB cache accesses (35.73%) | |
7,691,755,949 L1-dcache-prefetches:u # 534.616 M/sec (35.71%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.382563369 seconds time elapsed | |
40.945957000 seconds user | |
0.252222000 seconds sys | |
14,393.85 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
64 page-faults:u # 4.446 /sec | |
76,043,864,317 cycles:u # 5.283 GHz (35.79%) | |
383,005,222 stalled-cycles-frontend:u # 0.50% frontend cycles idle (35.85%) | |
285,786,679,532 instructions:u # 3.76 insn per cycle | |
# 0.00 stalled cycles per insn (35.85%) | |
15,061,907,149 branches:u # 1.046 G/sec (35.85%) | |
16,785,123 branch-misses:u # 0.11% of all branches (35.85%) | |
120,644,450,733 L1-dcache-loads:u # 8.382 G/sec (35.74%) | |
7,558,110,004 L1-dcache-load-misses:u # 6.26% of all L1-dcache accesses (35.69%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
56,328,689 L1-icache-loads:u # 3.913 M/sec (35.75%) | |
447,092 L1-icache-load-misses:u # 0.79% of all L1-icache accesses (35.75%) | |
20,054 dTLB-loads:u # 1.393 K/sec (35.74%) | |
215 dTLB-load-misses:u # 1.07% of all dTLB cache accesses (35.74%) | |
47 iTLB-loads:u # 3.265 /sec (35.73%) | |
159 iTLB-load-misses:u # 338.30% of all iTLB cache accesses (35.72%) | |
7,530,164,538 L1-dcache-prefetches:u # 523.152 M/sec (35.73%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.378623610 seconds time elapsed | |
41.087245000 seconds user | |
0.128034000 seconds sys | |
14,383.90 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
227 page-faults:u # 15.782 /sec | |
78,187,149,111 cycles:u # 5.436 GHz (35.80%) | |
376,781,347 stalled-cycles-frontend:u # 0.48% frontend cycles idle (35.84%) | |
293,356,435,642 instructions:u # 3.75 insn per cycle | |
# 0.00 stalled cycles per insn (35.88%) | |
15,482,403,764 branches:u # 1.076 G/sec (35.92%) | |
18,033,579 branch-misses:u # 0.12% of all branches (35.94%) | |
123,961,659,613 L1-dcache-loads:u # 8.618 G/sec (35.83%) | |
7,765,183,425 L1-dcache-load-misses:u # 6.26% of all L1-dcache accesses (35.78%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
59,413,887 L1-icache-loads:u # 4.131 M/sec (35.73%) | |
448,797 L1-icache-load-misses:u # 0.76% of all L1-icache accesses (35.72%) | |
79,677 dTLB-loads:u # 5.539 K/sec (35.72%) | |
9,508 dTLB-load-misses:u # 11.93% of all dTLB cache accesses (35.71%) | |
2,644 iTLB-loads:u # 183.817 /sec (35.69%) | |
992 iTLB-load-misses:u # 37.52% of all iTLB cache accesses (35.68%) | |
7,737,687,758 L1-dcache-prefetches:u # 537.941 M/sec (35.65%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.375895108 seconds time elapsed | |
40.652609000 seconds user | |
0.421890000 seconds sys | |
# JMH version: 1.36 | |
# VM version: JDK 21.0.4, OpenJDK 64-Bit Server VM, 21.0.4+7-LTS | |
# VM invoker: /home/nick/.jdks/azul-21.0.4/bin/java | |
# VM options: -Dfile.encoding=UTF-8 -Duser.country=GB -Duser.language=en -Duser.variant | |
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) | |
# Warmup: 5 iterations, 5 s each | |
# Measurement: 3 iterations, 5 s each | |
# Timeout: 10 min per iteration | |
# Threads: 1 thread, will synchronize iterations | |
# Benchmark mode: Sampling time | |
# Benchmark: uk.co.palmr.benchmarks.ForLoopBenchmark.plainIntSetEnhancedFor | |
# Run progress: 75.00% complete, ETA 00:16:50 | |
# Fork: 1 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 6181.710 ±(99.9%) 29.979 us/op | |
# Warmup Iteration 2: 6227.695 ±(99.9%) 23.989 us/op | |
# Warmup Iteration 3: 6138.686 ±(99.9%) 9.617 us/op | |
# Warmup Iteration 4: 6151.507 ±(99.9%) 15.627 us/op | |
# Warmup Iteration 5: 6149.552 ±(99.9%) 18.326 us/op | |
Iteration 1: 6178.824 ±(99.9%) 13.224 us/op | |
plainIntSetEnhancedFor·p0.00: 6062.080 us/op | |
plainIntSetEnhancedFor·p0.50: 6135.808 us/op | |
plainIntSetEnhancedFor·p0.90: 6340.608 us/op | |
plainIntSetEnhancedFor·p0.95: 6479.872 us/op | |
plainIntSetEnhancedFor·p0.99: 6569.165 us/op | |
plainIntSetEnhancedFor·p0.999: 6823.936 us/op | |
plainIntSetEnhancedFor·p0.9999: 6823.936 us/op | |
plainIntSetEnhancedFor·p1.00: 6823.936 us/op | |
·gc.alloc.rate: 0.011 MB/sec | |
·gc.alloc.rate.norm: 71.525 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 6165.273 ±(99.9%) 13.707 us/op | |
plainIntSetEnhancedFor·p0.00: 5931.008 us/op | |
plainIntSetEnhancedFor·p0.50: 6135.808 us/op | |
plainIntSetEnhancedFor·p0.90: 6291.456 us/op | |
plainIntSetEnhancedFor·p0.95: 6368.461 us/op | |
plainIntSetEnhancedFor·p0.99: 6577.193 us/op | |
plainIntSetEnhancedFor·p0.999: 7454.720 us/op | |
plainIntSetEnhancedFor·p0.9999: 7454.720 us/op | |
plainIntSetEnhancedFor·p1.00: 7454.720 us/op | |
·gc.alloc.rate: 0.011 MB/sec | |
·gc.alloc.rate.norm: 71.625 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 6183.977 ±(99.9%) 11.266 us/op | |
plainIntSetEnhancedFor·p0.00: 5775.360 us/op | |
plainIntSetEnhancedFor·p0.50: 6168.576 us/op | |
plainIntSetEnhancedFor·p0.90: 6267.699 us/op | |
plainIntSetEnhancedFor·p0.95: 6332.416 us/op | |
plainIntSetEnhancedFor·p0.99: 6610.944 us/op | |
plainIntSetEnhancedFor·p0.999: 6963.200 us/op | |
plainIntSetEnhancedFor·p0.9999: 6963.200 us/op | |
plainIntSetEnhancedFor·p1.00: 6963.200 us/op | |
·gc.alloc.rate: 0.011 MB/sec | |
·gc.alloc.rate.norm: 71.970 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 76.00% complete, ETA 00:16:09 | |
# Fork: 2 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 5987.685 ±(99.9%) 27.070 us/op | |
# Warmup Iteration 2: 5918.434 ±(99.9%) 6.422 us/op | |
# Warmup Iteration 3: 5951.966 ±(99.9%) 7.484 us/op | |
# Warmup Iteration 4: 5958.806 ±(99.9%) 6.976 us/op | |
# Warmup Iteration 5: 6120.106 ±(99.9%) 63.559 us/op | |
Iteration 1: 6276.842 ±(99.9%) 61.427 us/op | |
plainIntSetEnhancedFor·p0.00: 5758.976 us/op | |
plainIntSetEnhancedFor·p0.50: 6094.848 us/op | |
plainIntSetEnhancedFor·p0.90: 6728.090 us/op | |
plainIntSetEnhancedFor·p0.95: 7152.026 us/op | |
plainIntSetEnhancedFor·p0.99: 8703.345 us/op | |
plainIntSetEnhancedFor·p0.999: 9617.408 us/op | |
plainIntSetEnhancedFor·p0.9999: 9617.408 us/op | |
plainIntSetEnhancedFor·p1.00: 9617.408 us/op | |
·gc.alloc.rate: 0.017 MB/sec | |
·gc.alloc.rate.norm: 113.286 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 6078.962 ±(99.9%) 58.184 us/op | |
plainIntSetEnhancedFor·p0.00: 5644.288 us/op | |
plainIntSetEnhancedFor·p0.50: 5988.352 us/op | |
plainIntSetEnhancedFor·p0.90: 6299.648 us/op | |
plainIntSetEnhancedFor·p0.95: 6461.030 us/op | |
plainIntSetEnhancedFor·p0.99: 6925.517 us/op | |
plainIntSetEnhancedFor·p0.999: 18382.848 us/op | |
plainIntSetEnhancedFor·p0.9999: 18382.848 us/op | |
plainIntSetEnhancedFor·p1.00: 18382.848 us/op | |
·gc.alloc.rate: 0.022 MB/sec | |
·gc.alloc.rate.norm: 142.988 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 6242.836 ±(99.9%) 43.665 us/op | |
plainIntSetEnhancedFor·p0.00: 5898.240 us/op | |
plainIntSetEnhancedFor·p0.50: 6119.424 us/op | |
plainIntSetEnhancedFor·p0.90: 6674.842 us/op | |
plainIntSetEnhancedFor·p0.95: 6928.794 us/op | |
plainIntSetEnhancedFor·p0.99: 7948.206 us/op | |
plainIntSetEnhancedFor·p0.999: 8896.512 us/op | |
plainIntSetEnhancedFor·p0.9999: 8896.512 us/op | |
plainIntSetEnhancedFor·p1.00: 8896.512 us/op | |
·gc.alloc.rate: 0.017 MB/sec | |
·gc.alloc.rate.norm: 112.030 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 77.00% complete, ETA 00:15:29 | |
# Fork: 3 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 6455.222 ±(99.9%) 72.364 us/op | |
# Warmup Iteration 2: 6357.117 ±(99.9%) 16.175 us/op | |
# Warmup Iteration 3: 6330.923 ±(99.9%) 14.980 us/op | |
# Warmup Iteration 4: 6464.580 ±(99.9%) 33.468 us/op | |
# Warmup Iteration 5: 6362.432 ±(99.9%) 43.032 us/op | |
Iteration 1: 6547.381 ±(99.9%) 70.895 us/op | |
plainIntSetEnhancedFor·p0.00: 6209.536 us/op | |
plainIntSetEnhancedFor·p0.50: 6365.184 us/op | |
plainIntSetEnhancedFor·p0.90: 7090.176 us/op | |
plainIntSetEnhancedFor·p0.95: 7651.328 us/op | |
plainIntSetEnhancedFor·p0.99: 9619.046 us/op | |
plainIntSetEnhancedFor·p0.999: 12484.608 us/op | |
plainIntSetEnhancedFor·p0.9999: 12484.608 us/op | |
plainIntSetEnhancedFor·p1.00: 12484.608 us/op | |
·gc.alloc.rate: 0.017 MB/sec | |
·gc.alloc.rate.norm: 115.277 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 6668.627 ±(99.9%) 77.746 us/op | |
plainIntSetEnhancedFor·p0.00: 6193.152 us/op | |
plainIntSetEnhancedFor·p0.50: 6389.760 us/op | |
plainIntSetEnhancedFor·p0.90: 7364.608 us/op | |
plainIntSetEnhancedFor·p0.95: 7831.552 us/op | |
plainIntSetEnhancedFor·p0.99: 9460.941 us/op | |
plainIntSetEnhancedFor·p0.999: 11010.048 us/op | |
plainIntSetEnhancedFor·p0.9999: 11010.048 us/op | |
plainIntSetEnhancedFor·p1.00: 11010.048 us/op | |
·gc.alloc.rate: 0.017 MB/sec | |
·gc.alloc.rate.norm: 119.499 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 6307.530 ±(99.9%) 8.882 us/op | |
plainIntSetEnhancedFor·p0.00: 6184.960 us/op | |
plainIntSetEnhancedFor·p0.50: 6291.456 us/op | |
plainIntSetEnhancedFor·p0.90: 6389.760 us/op | |
plainIntSetEnhancedFor·p0.95: 6447.104 us/op | |
plainIntSetEnhancedFor·p0.99: 6569.984 us/op | |
plainIntSetEnhancedFor·p0.999: 6995.968 us/op | |
plainIntSetEnhancedFor·p0.9999: 6995.968 us/op | |
plainIntSetEnhancedFor·p1.00: 6995.968 us/op | |
·gc.alloc.rate: 0.011 MB/sec | |
·gc.alloc.rate.norm: 71.768 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 78.00% complete, ETA 00:14:48 | |
# Fork: 4 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 6781.375 ±(99.9%) 110.562 us/op | |
# Warmup Iteration 2: 6446.154 ±(99.9%) 11.025 us/op | |
# Warmup Iteration 3: 6597.910 ±(99.9%) 61.700 us/op | |
# Warmup Iteration 4: 6336.891 ±(99.9%) 34.071 us/op | |
# Warmup Iteration 5: 6640.307 ±(99.9%) 71.199 us/op | |
Iteration 1: 6572.740 ±(99.9%) 41.544 us/op | |
plainIntSetEnhancedFor·p0.00: 6356.992 us/op | |
plainIntSetEnhancedFor·p0.50: 6496.256 us/op | |
plainIntSetEnhancedFor·p0.90: 6748.570 us/op | |
plainIntSetEnhancedFor·p0.95: 7061.504 us/op | |
plainIntSetEnhancedFor·p0.99: 8557.036 us/op | |
plainIntSetEnhancedFor·p0.999: 9420.800 us/op | |
plainIntSetEnhancedFor·p0.9999: 9420.800 us/op | |
plainIntSetEnhancedFor·p1.00: 9420.800 us/op | |
·gc.alloc.rate: 0.016 MB/sec | |
·gc.alloc.rate.norm: 113.503 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 6545.494 ±(99.9%) 49.344 us/op | |
plainIntSetEnhancedFor·p0.00: 6324.224 us/op | |
plainIntSetEnhancedFor·p0.50: 6438.912 us/op | |
plainIntSetEnhancedFor·p0.90: 6660.096 us/op | |
plainIntSetEnhancedFor·p0.95: 7004.160 us/op | |
plainIntSetEnhancedFor·p0.99: 8271.462 us/op | |
plainIntSetEnhancedFor·p0.999: 11288.576 us/op | |
plainIntSetEnhancedFor·p0.9999: 11288.576 us/op | |
plainIntSetEnhancedFor·p1.00: 11288.576 us/op | |
·gc.alloc.rate: 0.016 MB/sec | |
·gc.alloc.rate.norm: 113.026 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 6525.976 ±(99.9%) 28.537 us/op | |
plainIntSetEnhancedFor·p0.00: 6291.456 us/op | |
plainIntSetEnhancedFor·p0.50: 6471.680 us/op | |
plainIntSetEnhancedFor·p0.90: 6660.096 us/op | |
plainIntSetEnhancedFor·p0.95: 6842.778 us/op | |
plainIntSetEnhancedFor·p0.99: 7405.486 us/op | |
plainIntSetEnhancedFor·p0.999: 10878.976 us/op | |
plainIntSetEnhancedFor·p0.9999: 10878.976 us/op | |
plainIntSetEnhancedFor·p1.00: 10878.976 us/op | |
·gc.alloc.rate: 0.016 MB/sec | |
·gc.alloc.rate.norm: 112.867 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 79.00% complete, ETA 00:14:08 | |
# Fork: 5 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 6288.942 ±(99.9%) 99.052 us/op | |
# Warmup Iteration 2: 5887.954 ±(99.9%) 22.425 us/op | |
# Warmup Iteration 3: 5900.987 ±(99.9%) 19.174 us/op | |
# Warmup Iteration 4: 5853.107 ±(99.9%) 10.842 us/op | |
# Warmup Iteration 5: 5872.778 ±(99.9%) 16.837 us/op | |
Iteration 1: 6336.029 ±(99.9%) 95.566 us/op | |
plainIntSetEnhancedFor·p0.00: 5709.824 us/op | |
plainIntSetEnhancedFor·p0.50: 6037.504 us/op | |
plainIntSetEnhancedFor·p0.90: 7127.040 us/op | |
plainIntSetEnhancedFor·p0.95: 7831.552 us/op | |
plainIntSetEnhancedFor·p0.99: 9913.958 us/op | |
plainIntSetEnhancedFor·p0.999: 12713.984 us/op | |
plainIntSetEnhancedFor·p0.9999: 12713.984 us/op | |
plainIntSetEnhancedFor·p1.00: 12713.984 us/op | |
·gc.alloc.rate: 0.017 MB/sec | |
·gc.alloc.rate.norm: 116.167 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 6104.380 ±(99.9%) 38.332 us/op | |
plainIntSetEnhancedFor·p0.00: 5742.592 us/op | |
plainIntSetEnhancedFor·p0.50: 6037.504 us/op | |
plainIntSetEnhancedFor·p0.90: 6316.032 us/op | |
plainIntSetEnhancedFor·p0.95: 6602.752 us/op | |
plainIntSetEnhancedFor·p0.99: 7649.690 us/op | |
plainIntSetEnhancedFor·p0.999: 9715.712 us/op | |
plainIntSetEnhancedFor·p0.9999: 9715.712 us/op | |
plainIntSetEnhancedFor·p1.00: 9715.712 us/op | |
·gc.alloc.rate: 0.017 MB/sec | |
·gc.alloc.rate.norm: 108.904 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 6018.961 ±(99.9%) 38.780 us/op | |
plainIntSetEnhancedFor·p0.00: 5701.632 us/op | |
plainIntSetEnhancedFor·p0.50: 5939.200 us/op | |
plainIntSetEnhancedFor·p0.90: 6273.434 us/op | |
plainIntSetEnhancedFor·p0.95: 6515.917 us/op | |
plainIntSetEnhancedFor·p0.99: 6926.172 us/op | |
plainIntSetEnhancedFor·p0.999: 12566.528 us/op | |
plainIntSetEnhancedFor·p0.9999: 12566.528 us/op | |
plainIntSetEnhancedFor·p1.00: 12566.528 us/op | |
·gc.alloc.rate: 0.017 MB/sec | |
·gc.alloc.rate.norm: 107.600 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
Result "uk.co.palmr.benchmarks.ForLoopBenchmark.plainIntSetEnhancedFor": | |
N = 11884 | |
mean = 6310.717 ±(99.9%) 14.103 us/op | |
Histogram, us/op: | |
[ 0.000, 1250.000) = 0 | |
[ 1250.000, 2500.000) = 0 | |
[ 2500.000, 3750.000) = 0 | |
[ 3750.000, 5000.000) = 0 | |
[ 5000.000, 6250.000) = 6104 | |
[ 6250.000, 7500.000) = 5501 | |
[ 7500.000, 8750.000) = 198 | |
[ 8750.000, 10000.000) = 63 | |
[10000.000, 11250.000) = 11 | |
[11250.000, 12500.000) = 4 | |
[12500.000, 13750.000) = 2 | |
[13750.000, 15000.000) = 0 | |
[15000.000, 16250.000) = 0 | |
[16250.000, 17500.000) = 0 | |
[17500.000, 18750.000) = 1 | |
Percentiles, us/op: | |
p(0.0000) = 5644.288 us/op | |
p(50.0000) = 6234.112 us/op | |
p(90.0000) = 6602.752 us/op | |
p(95.0000) = 6938.624 us/op | |
p(99.0000) = 8336.179 us/op | |
p(99.9000) = 10604.790 us/op | |
p(99.9900) = 17314.267 us/op | |
p(99.9990) = 18382.848 us/op | |
p(99.9999) = 18382.848 us/op | |
p(100.0000) = 18382.848 us/op | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.plainIntSetEnhancedFor:·gc.alloc.rate": | |
0.016 ±(99.9%) 0.003 MB/sec [Average] | |
(min, avg, max) = (0.011, 0.016, 0.022), stdev = 0.003 | |
CI (99.9%): [0.012, 0.019] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.plainIntSetEnhancedFor:·gc.alloc.rate.norm": | |
104.136 ±(99.9%) 23.284 B/op [Average] | |
(min, avg, max) = (71.525, 104.136, 142.988), stdev = 21.780 | |
CI (99.9%): [80.852, 127.419] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.plainIntSetEnhancedFor:·gc.count": | |
≈ 0 counts | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.plainIntSetEnhancedFor:·perf": | |
Perf stats: | |
-------------------------------------------------- | |
14,418.74 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
83 page-faults:u # 5.756 /sec | |
75,924,249,530 cycles:u # 5.266 GHz (35.77%) | |
177,683,423 stalled-cycles-frontend:u # 0.23% frontend cycles idle (35.86%) | |
260,470,478,623 instructions:u # 3.43 insn per cycle | |
# 0.00 stalled cycles per insn (35.91%) | |
56,976,762,542 branches:u # 3.952 G/sec (35.93%) | |
1,830,571 branch-misses:u # 0.00% of all branches (35.95%) | |
78,641,901,474 L1-dcache-loads:u # 5.454 G/sec (35.86%) | |
2,434,349,708 L1-dcache-load-misses:u # 3.10% of all L1-dcache accesses (35.76%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
53,457,854 L1-icache-loads:u # 3.708 M/sec (35.72%) | |
158,806 L1-icache-load-misses:u # 0.30% of all L1-icache accesses (35.70%) | |
338,345 dTLB-loads:u # 23.466 K/sec (35.69%) | |
19,983 dTLB-load-misses:u # 5.91% of all dTLB cache accesses (35.68%) | |
3,081 iTLB-loads:u # 213.680 /sec (35.66%) | |
965 iTLB-load-misses:u # 31.32% of all iTLB cache accesses (35.71%) | |
2,066,663,698 L1-dcache-prefetches:u # 143.332 M/sec (35.71%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.398257288 seconds time elapsed | |
41.041450000 seconds user | |
0.192318000 seconds sys | |
14,418.86 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
84 page-faults:u # 5.826 /sec | |
78,700,443,743 cycles:u # 5.458 GHz (35.73%) | |
187,451,496 stalled-cycles-frontend:u # 0.24% frontend cycles idle (35.85%) | |
260,303,326,458 instructions:u # 3.31 insn per cycle | |
# 0.00 stalled cycles per insn (35.89%) | |
56,481,417,624 branches:u # 3.917 G/sec (35.91%) | |
2,106,701 branch-misses:u # 0.00% of all branches (35.91%) | |
78,184,226,196 L1-dcache-loads:u # 5.422 G/sec (35.82%) | |
2,421,104,425 L1-dcache-load-misses:u # 3.10% of all L1-dcache accesses (35.75%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
51,823,350 L1-icache-loads:u # 3.594 M/sec (35.74%) | |
113,911 L1-icache-load-misses:u # 0.22% of all L1-icache accesses (35.74%) | |
354,570 dTLB-loads:u # 24.591 K/sec (35.74%) | |
25,809 dTLB-load-misses:u # 7.28% of all dTLB cache accesses (35.72%) | |
3,259 iTLB-loads:u # 226.023 /sec (35.71%) | |
2,186 iTLB-load-misses:u # 67.08% of all iTLB cache accesses (35.67%) | |
2,065,229,172 L1-dcache-prefetches:u # 143.231 M/sec (35.66%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.402084989 seconds time elapsed | |
40.857034000 seconds user | |
0.334339000 seconds sys | |
14,425.27 msec task-clock:u # 1.002 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
133 page-faults:u # 9.220 /sec | |
78,316,424,657 cycles:u # 5.429 GHz (35.74%) | |
194,841,972 stalled-cycles-frontend:u # 0.25% frontend cycles idle (35.79%) | |
247,081,040,428 instructions:u # 3.15 insn per cycle | |
# 0.00 stalled cycles per insn (35.89%) | |
54,014,874,409 branches:u # 3.744 G/sec (35.93%) | |
2,418,966 branch-misses:u # 0.00% of all branches (35.93%) | |
74,652,611,201 L1-dcache-loads:u # 5.175 G/sec (35.83%) | |
2,342,944,050 L1-dcache-load-misses:u # 3.14% of all L1-dcache accesses (35.78%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
47,566,648 L1-icache-loads:u # 3.297 M/sec (35.75%) | |
103,380 L1-icache-load-misses:u # 0.22% of all L1-icache accesses (35.70%) | |
392,001 dTLB-loads:u # 27.175 K/sec (35.75%) | |
17,263 dTLB-load-misses:u # 4.40% of all dTLB cache accesses (35.73%) | |
6,737 iTLB-loads:u # 467.028 /sec (35.71%) | |
1,406 iTLB-load-misses:u # 20.87% of all iTLB cache accesses (35.70%) | |
1,975,638,624 L1-dcache-prefetches:u # 136.957 M/sec (35.68%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.401205215 seconds time elapsed | |
40.986394000 seconds user | |
0.197593000 seconds sys | |
14,428.32 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
81 page-faults:u # 5.614 /sec | |
76,150,334,405 cycles:u # 5.278 GHz (35.73%) | |
180,520,429 stalled-cycles-frontend:u # 0.24% frontend cycles idle (35.78%) | |
246,439,216,957 instructions:u # 3.24 insn per cycle | |
# 0.00 stalled cycles per insn (35.88%) | |
53,872,412,104 branches:u # 3.734 G/sec (35.91%) | |
2,358,460 branch-misses:u # 0.00% of all branches (35.92%) | |
74,905,906,248 L1-dcache-loads:u # 5.192 G/sec (35.82%) | |
2,346,001,261 L1-dcache-load-misses:u # 3.13% of all L1-dcache accesses (35.76%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
58,298,161 L1-icache-loads:u # 4.041 M/sec (35.76%) | |
112,156 L1-icache-load-misses:u # 0.19% of all L1-icache accesses (35.73%) | |
283,404 dTLB-loads:u # 19.642 K/sec (35.76%) | |
20,161 dTLB-load-misses:u # 7.11% of all dTLB cache accesses (35.75%) | |
1,964 iTLB-loads:u # 136.121 /sec (35.73%) | |
1,952 iTLB-load-misses:u # 99.39% of all iTLB cache accesses (35.71%) | |
1,969,501,395 L1-dcache-prefetches:u # 136.502 M/sec (35.68%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.408500443 seconds time elapsed | |
41.121195000 seconds user | |
0.115015000 seconds sys | |
14,443.56 msec task-clock:u # 1.002 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
226 page-faults:u # 15.647 /sec | |
78,589,078,030 cycles:u # 5.441 GHz (35.77%) | |
186,970,797 stalled-cycles-frontend:u # 0.24% frontend cycles idle (35.81%) | |
261,381,298,838 instructions:u # 3.33 insn per cycle | |
# 0.00 stalled cycles per insn (35.84%) | |
57,338,672,585 branches:u # 3.970 G/sec (35.86%) | |
3,406,697 branch-misses:u # 0.01% of all branches (35.89%) | |
79,039,286,430 L1-dcache-loads:u # 5.472 G/sec (35.84%) | |
2,413,597,649 L1-dcache-load-misses:u # 3.05% of all L1-dcache accesses (35.80%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
56,368,673 L1-icache-loads:u # 3.903 M/sec (35.77%) | |
203,545 L1-icache-load-misses:u # 0.36% of all L1-icache accesses (35.78%) | |
637,977 dTLB-loads:u # 44.170 K/sec (35.75%) | |
37,576 dTLB-load-misses:u # 5.89% of all dTLB cache accesses (35.73%) | |
9,852 iTLB-loads:u # 682.103 /sec (35.71%) | |
2,708 iTLB-load-misses:u # 27.49% of all iTLB cache accesses (35.67%) | |
2,086,225,944 L1-dcache-prefetches:u # 144.440 M/sec (35.69%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.411391300 seconds time elapsed | |
41.052395000 seconds user | |
0.278638000 seconds sys | |
# JMH version: 1.36 | |
# VM version: JDK 21.0.4, OpenJDK 64-Bit Server VM, 21.0.4+7-LTS | |
# VM invoker: /home/nick/.jdks/azul-21.0.4/bin/java | |
# VM options: -Dfile.encoding=UTF-8 -Duser.country=GB -Duser.language=en -Duser.variant | |
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) | |
# Warmup: 5 iterations, 5 s each | |
# Measurement: 3 iterations, 5 s each | |
# Timeout: 10 min per iteration | |
# Threads: 1 thread, will synchronize iterations | |
# Benchmark mode: Sampling time | |
# Benchmark: uk.co.palmr.benchmarks.ForLoopBenchmark.plainIntSetIteratorFor | |
# Run progress: 80.00% complete, ETA 00:13:28 | |
# Fork: 1 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 5965.526 ±(99.9%) 43.894 us/op | |
# Warmup Iteration 2: 6052.817 ±(99.9%) 64.340 us/op | |
# Warmup Iteration 3: 6241.782 ±(99.9%) 105.207 us/op | |
# Warmup Iteration 4: 5971.958 ±(99.9%) 48.759 us/op | |
# Warmup Iteration 5: 6033.913 ±(99.9%) 53.601 us/op | |
Iteration 1: 6057.641 ±(99.9%) 41.956 us/op | |
plainIntSetIteratorFor·p0.00: 5808.128 us/op | |
plainIntSetIteratorFor·p0.50: 5898.240 us/op | |
plainIntSetIteratorFor·p0.90: 6529.024 us/op | |
plainIntSetIteratorFor·p0.95: 6823.936 us/op | |
plainIntSetIteratorFor·p0.99: 7081.820 us/op | |
plainIntSetIteratorFor·p0.999: 10108.928 us/op | |
plainIntSetIteratorFor·p0.9999: 10108.928 us/op | |
plainIntSetIteratorFor·p1.00: 10108.928 us/op | |
·gc.alloc.rate: 0.017 MB/sec | |
·gc.alloc.rate.norm: 108.878 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 5918.531 ±(99.9%) 13.292 us/op | |
plainIntSetIteratorFor·p0.00: 5816.320 us/op | |
plainIntSetIteratorFor·p0.50: 5881.856 us/op | |
plainIntSetIteratorFor·p0.90: 6037.504 us/op | |
plainIntSetIteratorFor·p0.95: 6100.582 us/op | |
plainIntSetIteratorFor·p0.99: 6329.958 us/op | |
plainIntSetIteratorFor·p0.999: 7274.496 us/op | |
plainIntSetIteratorFor·p0.9999: 7274.496 us/op | |
plainIntSetIteratorFor·p1.00: 7274.496 us/op | |
·gc.alloc.rate: 0.011 MB/sec | |
·gc.alloc.rate.norm: 69.557 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 5897.486 ±(99.9%) 11.782 us/op | |
plainIntSetIteratorFor·p0.00: 5799.936 us/op | |
plainIntSetIteratorFor·p0.50: 5873.664 us/op | |
plainIntSetIteratorFor·p0.90: 5980.160 us/op | |
plainIntSetIteratorFor·p0.95: 6021.120 us/op | |
plainIntSetIteratorFor·p0.99: 6221.906 us/op | |
plainIntSetIteratorFor·p0.999: 7847.936 us/op | |
plainIntSetIteratorFor·p0.9999: 7847.936 us/op | |
plainIntSetIteratorFor·p1.00: 7847.936 us/op | |
·gc.alloc.rate: 0.011 MB/sec | |
·gc.alloc.rate.norm: 69.283 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 81.00% complete, ETA 00:12:47 | |
# Fork: 2 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 5426.804 ±(99.9%) 20.681 us/op | |
# Warmup Iteration 2: 5414.832 ±(99.9%) 7.709 us/op | |
# Warmup Iteration 3: 5457.026 ±(99.9%) 8.663 us/op | |
# Warmup Iteration 4: 5517.800 ±(99.9%) 42.120 us/op | |
# Warmup Iteration 5: 5930.124 ±(99.9%) 89.475 us/op | |
Iteration 1: 5748.910 ±(99.9%) 41.416 us/op | |
plainIntSetIteratorFor·p0.00: 5554.176 us/op | |
plainIntSetIteratorFor·p0.50: 5668.864 us/op | |
plainIntSetIteratorFor·p0.90: 5947.392 us/op | |
plainIntSetIteratorFor·p0.95: 6106.726 us/op | |
plainIntSetIteratorFor·p0.99: 6948.127 us/op | |
plainIntSetIteratorFor·p0.999: 12713.984 us/op | |
plainIntSetIteratorFor·p0.9999: 12713.984 us/op | |
plainIntSetIteratorFor·p1.00: 12713.984 us/op | |
·gc.alloc.rate: 0.017 MB/sec | |
·gc.alloc.rate.norm: 103.292 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 5584.903 ±(99.9%) 19.105 us/op | |
plainIntSetIteratorFor·p0.00: 5349.376 us/op | |
plainIntSetIteratorFor·p0.50: 5537.792 us/op | |
plainIntSetIteratorFor·p0.90: 5783.552 us/op | |
plainIntSetIteratorFor·p0.95: 5914.624 us/op | |
plainIntSetIteratorFor·p0.99: 6234.440 us/op | |
plainIntSetIteratorFor·p0.999: 7528.448 us/op | |
plainIntSetIteratorFor·p0.9999: 7528.448 us/op | |
plainIntSetIteratorFor·p1.00: 7528.448 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 69.068 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 5759.354 ±(99.9%) 51.471 us/op | |
plainIntSetIteratorFor·p0.00: 5390.336 us/op | |
plainIntSetIteratorFor·p0.50: 5660.672 us/op | |
plainIntSetIteratorFor·p0.90: 5931.827 us/op | |
plainIntSetIteratorFor·p0.95: 6578.176 us/op | |
plainIntSetIteratorFor·p0.99: 8558.019 us/op | |
plainIntSetIteratorFor·p0.999: 9846.784 us/op | |
plainIntSetIteratorFor·p0.9999: 9846.784 us/op | |
plainIntSetIteratorFor·p1.00: 9846.784 us/op | |
·gc.alloc.rate: 0.017 MB/sec | |
·gc.alloc.rate.norm: 105.069 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 82.00% complete, ETA 00:12:07 | |
# Fork: 3 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 5672.267 ±(99.9%) 36.279 us/op | |
# Warmup Iteration 2: 5637.878 ±(99.9%) 23.992 us/op | |
# Warmup Iteration 3: 5465.129 ±(99.9%) 50.647 us/op | |
# Warmup Iteration 4: 5569.501 ±(99.9%) 58.369 us/op | |
# Warmup Iteration 5: 5609.736 ±(99.9%) 35.840 us/op | |
Iteration 1: 5453.951 ±(99.9%) 7.036 us/op | |
plainIntSetIteratorFor·p0.00: 4890.624 us/op | |
plainIntSetIteratorFor·p0.50: 5439.488 us/op | |
plainIntSetIteratorFor·p0.90: 5529.600 us/op | |
plainIntSetIteratorFor·p0.95: 5562.368 us/op | |
plainIntSetIteratorFor·p0.99: 5634.621 us/op | |
plainIntSetIteratorFor·p0.999: 6037.504 us/op | |
plainIntSetIteratorFor·p0.9999: 6037.504 us/op | |
plainIntSetIteratorFor·p1.00: 6037.504 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 65.998 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 5713.569 ±(99.9%) 71.761 us/op | |
plainIntSetIteratorFor·p0.00: 5079.040 us/op | |
plainIntSetIteratorFor·p0.50: 5513.216 us/op | |
plainIntSetIteratorFor·p0.90: 5906.432 us/op | |
plainIntSetIteratorFor·p0.95: 7172.915 us/op | |
plainIntSetIteratorFor·p0.99: 9342.812 us/op | |
plainIntSetIteratorFor·p0.999: 9928.704 us/op | |
plainIntSetIteratorFor·p0.9999: 9928.704 us/op | |
plainIntSetIteratorFor·p1.00: 9928.704 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 105.445 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 5718.635 ±(99.9%) 33.206 us/op | |
plainIntSetIteratorFor·p0.00: 5545.984 us/op | |
plainIntSetIteratorFor·p0.50: 5644.288 us/op | |
plainIntSetIteratorFor·p0.90: 5840.896 us/op | |
plainIntSetIteratorFor·p0.95: 5988.352 us/op | |
plainIntSetIteratorFor·p0.99: 7665.664 us/op | |
plainIntSetIteratorFor·p0.999: 8183.808 us/op | |
plainIntSetIteratorFor·p0.9999: 8183.808 us/op | |
plainIntSetIteratorFor·p1.00: 8183.808 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 69.776 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 83.00% complete, ETA 00:11:26 | |
# Fork: 4 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 6063.701 ±(99.9%) 85.969 us/op | |
# Warmup Iteration 2: 5859.268 ±(99.9%) 49.548 us/op | |
# Warmup Iteration 3: 6078.255 ±(99.9%) 43.614 us/op | |
# Warmup Iteration 4: 5851.985 ±(99.9%) 14.114 us/op | |
# Warmup Iteration 5: 5816.654 ±(99.9%) 9.788 us/op | |
Iteration 1: 5823.805 ±(99.9%) 5.227 us/op | |
plainIntSetIteratorFor·p0.00: 5758.976 us/op | |
plainIntSetIteratorFor·p0.50: 5808.128 us/op | |
plainIntSetIteratorFor·p0.90: 5873.664 us/op | |
plainIntSetIteratorFor·p0.95: 5914.624 us/op | |
plainIntSetIteratorFor·p0.99: 6004.736 us/op | |
plainIntSetIteratorFor·p0.999: 6217.728 us/op | |
plainIntSetIteratorFor·p0.9999: 6217.728 us/op | |
plainIntSetIteratorFor·p1.00: 6217.728 us/op | |
·gc.alloc.rate: 0.011 MB/sec | |
·gc.alloc.rate.norm: 67.991 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 5837.393 ±(99.9%) 7.019 us/op | |
plainIntSetIteratorFor·p0.00: 5758.976 us/op | |
plainIntSetIteratorFor·p0.50: 5824.512 us/op | |
plainIntSetIteratorFor·p0.90: 5898.240 us/op | |
plainIntSetIteratorFor·p0.95: 5939.200 us/op | |
plainIntSetIteratorFor·p0.99: 6114.755 us/op | |
plainIntSetIteratorFor·p0.999: 6307.840 us/op | |
plainIntSetIteratorFor·p0.9999: 6307.840 us/op | |
plainIntSetIteratorFor·p1.00: 6307.840 us/op | |
·gc.alloc.rate: 0.011 MB/sec | |
·gc.alloc.rate.norm: 68.467 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 5954.199 ±(99.9%) 48.971 us/op | |
plainIntSetIteratorFor·p0.00: 5758.976 us/op | |
plainIntSetIteratorFor·p0.50: 5849.088 us/op | |
plainIntSetIteratorFor·p0.90: 6062.080 us/op | |
plainIntSetIteratorFor·p0.95: 6405.325 us/op | |
plainIntSetIteratorFor·p0.99: 8368.538 us/op | |
plainIntSetIteratorFor·p0.999: 10207.232 us/op | |
plainIntSetIteratorFor·p0.9999: 10207.232 us/op | |
plainIntSetIteratorFor·p1.00: 10207.232 us/op | |
·gc.alloc.rate: 0.017 MB/sec | |
·gc.alloc.rate.norm: 106.219 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 84.00% complete, ETA 00:10:46 | |
# Fork: 5 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 5813.272 ±(99.9%) 25.620 us/op | |
# Warmup Iteration 2: 5818.265 ±(99.9%) 14.015 us/op | |
# Warmup Iteration 3: 5848.484 ±(99.9%) 35.545 us/op | |
# Warmup Iteration 4: 6025.907 ±(99.9%) 41.561 us/op | |
# Warmup Iteration 5: 5747.743 ±(99.9%) 38.639 us/op | |
Iteration 1: 6015.669 ±(99.9%) 56.197 us/op | |
plainIntSetIteratorFor·p0.00: 5709.824 us/op | |
plainIntSetIteratorFor·p0.50: 5840.896 us/op | |
plainIntSetIteratorFor·p0.90: 6470.042 us/op | |
plainIntSetIteratorFor·p0.95: 6732.186 us/op | |
plainIntSetIteratorFor·p0.99: 8316.191 us/op | |
plainIntSetIteratorFor·p0.999: 12091.392 us/op | |
plainIntSetIteratorFor·p0.9999: 12091.392 us/op | |
plainIntSetIteratorFor·p1.00: 12091.392 us/op | |
·gc.alloc.rate: 0.017 MB/sec | |
·gc.alloc.rate.norm: 109.189 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 5824.197 ±(99.9%) 13.822 us/op | |
plainIntSetIteratorFor·p0.00: 5701.632 us/op | |
plainIntSetIteratorFor·p0.50: 5783.552 us/op | |
plainIntSetIteratorFor·p0.90: 5964.595 us/op | |
plainIntSetIteratorFor·p0.95: 6062.080 us/op | |
plainIntSetIteratorFor·p0.99: 6348.800 us/op | |
plainIntSetIteratorFor·p0.999: 6782.976 us/op | |
plainIntSetIteratorFor·p0.9999: 6782.976 us/op | |
plainIntSetIteratorFor·p1.00: 6782.976 us/op | |
·gc.alloc.rate: 0.011 MB/sec | |
·gc.alloc.rate.norm: 69.734 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 5727.719 ±(99.9%) 22.326 us/op | |
plainIntSetIteratorFor·p0.00: 5128.192 us/op | |
plainIntSetIteratorFor·p0.50: 5677.056 us/op | |
plainIntSetIteratorFor·p0.90: 5976.883 us/op | |
plainIntSetIteratorFor·p0.95: 6119.424 us/op | |
plainIntSetIteratorFor·p0.99: 6387.958 us/op | |
plainIntSetIteratorFor·p0.999: 7069.696 us/op | |
plainIntSetIteratorFor·p0.9999: 7069.696 us/op | |
plainIntSetIteratorFor·p1.00: 7069.696 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 70.919 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
Result "uk.co.palmr.benchmarks.ForLoopBenchmark.plainIntSetIteratorFor": | |
N = 12933 | |
mean = 5798.292 ±(99.9%) 10.231 us/op | |
Histogram, us/op: | |
[ 4000.000, 4500.000) = 0 | |
[ 4500.000, 5000.000) = 1 | |
[ 5000.000, 5500.000) = 1610 | |
[ 5500.000, 6000.000) = 10081 | |
[ 6000.000, 6500.000) = 885 | |
[ 6500.000, 7000.000) = 195 | |
[ 7000.000, 7500.000) = 63 | |
[ 7500.000, 8000.000) = 40 | |
[ 8000.000, 8500.000) = 16 | |
[ 8500.000, 9000.000) = 14 | |
[ 9000.000, 9500.000) = 14 | |
[ 9500.000, 10000.000) = 8 | |
[10000.000, 10500.000) = 4 | |
[10500.000, 11000.000) = 0 | |
[11000.000, 11500.000) = 0 | |
[11500.000, 12000.000) = 0 | |
[12000.000, 12500.000) = 1 | |
Percentiles, us/op: | |
p(0.0000) = 4890.624 us/op | |
p(50.0000) = 5791.744 us/op | |
p(90.0000) = 5988.352 us/op | |
p(95.0000) = 6225.920 us/op | |
p(99.0000) = 7173.407 us/op | |
p(99.9000) = 9638.117 us/op | |
p(99.9900) = 12531.316 us/op | |
p(99.9990) = 12713.984 us/op | |
p(99.9999) = 12713.984 us/op | |
p(100.0000) = 12713.984 us/op | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.plainIntSetIteratorFor:·gc.alloc.rate": | |
0.014 ±(99.9%) 0.003 MB/sec [Average] | |
(min, avg, max) = (0.011, 0.014, 0.018), stdev = 0.003 | |
CI (99.9%): [0.011, 0.017] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.plainIntSetIteratorFor:·gc.alloc.rate.norm": | |
83.926 ±(99.9%) 20.344 B/op [Average] | |
(min, avg, max) = (65.998, 83.926, 109.189), stdev = 19.029 | |
CI (99.9%): [63.582, 104.269] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.plainIntSetIteratorFor:·gc.count": | |
≈ 0 counts | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.plainIntSetIteratorFor:·perf": | |
Perf stats: | |
-------------------------------------------------- | |
14,422.23 msec task-clock:u # 1.002 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
86 page-faults:u # 5.963 /sec | |
75,917,079,363 cycles:u # 5.264 GHz (35.80%) | |
198,683,173 stalled-cycles-frontend:u # 0.26% frontend cycles idle (35.85%) | |
262,048,244,337 instructions:u # 3.45 insn per cycle | |
# 0.00 stalled cycles per insn (35.90%) | |
59,335,900,235 branches:u # 4.114 G/sec (35.93%) | |
2,792,785 branch-misses:u # 0.00% of all branches (35.95%) | |
79,372,366,095 L1-dcache-loads:u # 5.503 G/sec (35.82%) | |
2,284,287,057 L1-dcache-load-misses:u # 2.88% of all L1-dcache accesses (35.77%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
51,548,446 L1-icache-loads:u # 3.574 M/sec (35.71%) | |
72,240 L1-icache-load-misses:u # 0.14% of all L1-icache accesses (35.71%) | |
296,979 dTLB-loads:u # 20.592 K/sec (35.69%) | |
11,324 dTLB-load-misses:u # 3.81% of all dTLB cache accesses (35.67%) | |
1,786 iTLB-loads:u # 123.837 /sec (35.66%) | |
352 iTLB-load-misses:u # 19.71% of all iTLB cache accesses (35.72%) | |
2,053,052,809 L1-dcache-prefetches:u # 142.353 M/sec (35.71%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.398336653 seconds time elapsed | |
41.053860000 seconds user | |
0.128218000 seconds sys | |
14,419.69 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
86 page-faults:u # 5.964 /sec | |
76,938,604,693 cycles:u # 5.336 GHz (35.75%) | |
200,571,172 stalled-cycles-frontend:u # 0.26% frontend cycles idle (35.86%) | |
275,564,467,798 instructions:u # 3.58 insn per cycle | |
# 0.00 stalled cycles per insn (35.91%) | |
62,069,020,653 branches:u # 4.304 G/sec (35.93%) | |
2,160,845 branch-misses:u # 0.00% of all branches (35.95%) | |
82,864,667,012 L1-dcache-loads:u # 5.747 G/sec (35.86%) | |
2,393,666,513 L1-dcache-load-misses:u # 2.89% of all L1-dcache accesses (35.70%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
51,515,753 L1-icache-loads:u # 3.573 M/sec (35.68%) | |
88,262 L1-icache-load-misses:u # 0.17% of all L1-icache accesses (35.68%) | |
326,264 dTLB-loads:u # 22.626 K/sec (35.74%) | |
18,690 dTLB-load-misses:u # 5.73% of all dTLB cache accesses (35.73%) | |
5,461 iTLB-loads:u # 378.718 /sec (35.72%) | |
1,262 iTLB-load-misses:u # 23.11% of all iTLB cache accesses (35.72%) | |
2,150,059,039 L1-dcache-prefetches:u # 149.106 M/sec (35.69%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.398415650 seconds time elapsed | |
41.020634000 seconds user | |
0.196604000 seconds sys | |
14,424.62 msec task-clock:u # 1.002 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
64 page-faults:u # 4.437 /sec | |
77,211,459,200 cycles:u # 5.353 GHz (35.88%) | |
169,577,904 stalled-cycles-frontend:u # 0.22% frontend cycles idle (35.89%) | |
277,885,938,944 instructions:u # 3.60 insn per cycle | |
# 0.00 stalled cycles per insn (35.88%) | |
62,701,661,897 branches:u # 4.347 G/sec (35.91%) | |
2,032,358 branch-misses:u # 0.00% of all branches (35.93%) | |
83,747,469,533 L1-dcache-loads:u # 5.806 G/sec (35.73%) | |
2,410,044,170 L1-dcache-load-misses:u # 2.88% of all L1-dcache accesses (35.75%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
47,750,250 L1-icache-loads:u # 3.310 M/sec (35.75%) | |
95,034 L1-icache-load-misses:u # 0.20% of all L1-icache accesses (35.71%) | |
390,784 dTLB-loads:u # 27.091 K/sec (35.70%) | |
24,419 dTLB-load-misses:u # 6.25% of all dTLB cache accesses (35.71%) | |
4,174 iTLB-loads:u # 289.366 /sec (35.72%) | |
1,369 iTLB-load-misses:u # 32.80% of all iTLB cache accesses (35.70%) | |
2,178,808,258 L1-dcache-prefetches:u # 151.048 M/sec (35.69%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.401938624 seconds time elapsed | |
41.086719000 seconds user | |
0.118301000 seconds sys | |
14,406.71 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
87 page-faults:u # 6.039 /sec | |
75,905,827,384 cycles:u # 5.269 GHz (35.80%) | |
179,404,382 stalled-cycles-frontend:u # 0.24% frontend cycles idle (35.86%) | |
266,876,827,287 instructions:u # 3.52 insn per cycle | |
# 0.00 stalled cycles per insn (35.90%) | |
60,017,502,350 branches:u # 4.166 G/sec (35.91%) | |
2,116,136 branch-misses:u # 0.00% of all branches (35.92%) | |
80,094,869,181 L1-dcache-loads:u # 5.560 G/sec (35.79%) | |
2,321,044,819 L1-dcache-load-misses:u # 2.90% of all L1-dcache accesses (35.71%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
39,716,216 L1-icache-loads:u # 2.757 M/sec (35.69%) | |
65,586 L1-icache-load-misses:u # 0.17% of all L1-icache accesses (35.69%) | |
324,107 dTLB-loads:u # 22.497 K/sec (35.69%) | |
6,205 dTLB-load-misses:u # 1.91% of all dTLB cache accesses (35.74%) | |
2,571 iTLB-loads:u # 178.458 /sec (35.74%) | |
293 iTLB-load-misses:u # 11.40% of all iTLB cache accesses (35.73%) | |
2,055,005,866 L1-dcache-prefetches:u # 142.642 M/sec (35.72%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.385646897 seconds time elapsed | |
41.034872000 seconds user | |
0.129240000 seconds sys | |
14,419.53 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
83 page-faults:u # 5.756 /sec | |
76,547,153,054 cycles:u # 5.309 GHz (35.83%) | |
185,291,776 stalled-cycles-frontend:u # 0.24% frontend cycles idle (35.89%) | |
268,253,581,356 instructions:u # 3.50 insn per cycle | |
# 0.00 stalled cycles per insn (35.91%) | |
60,070,568,138 branches:u # 4.166 G/sec (35.91%) | |
2,142,894 branch-misses:u # 0.00% of all branches (35.92%) | |
80,206,105,344 L1-dcache-loads:u # 5.562 G/sec (35.75%) | |
2,323,774,273 L1-dcache-load-misses:u # 2.90% of all L1-dcache accesses (35.75%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
41,897,749 L1-icache-loads:u # 2.906 M/sec (35.72%) | |
110,930 L1-icache-load-misses:u # 0.26% of all L1-icache accesses (35.73%) | |
336,646 dTLB-loads:u # 23.347 K/sec (35.71%) | |
14,892 dTLB-load-misses:u # 4.42% of all dTLB cache accesses (35.70%) | |
2,933 iTLB-loads:u # 203.405 /sec (35.66%) | |
877 iTLB-load-misses:u # 29.90% of all iTLB cache accesses (35.67%) | |
2,063,503,359 L1-dcache-prefetches:u # 143.105 M/sec (35.72%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.401434478 seconds time elapsed | |
41.006118000 seconds user | |
0.209429000 seconds sys | |
# JMH version: 1.36 | |
# VM version: JDK 21.0.4, OpenJDK 64-Bit Server VM, 21.0.4+7-LTS | |
# VM invoker: /home/nick/.jdks/azul-21.0.4/bin/java | |
# VM options: -Dfile.encoding=UTF-8 -Duser.country=GB -Duser.language=en -Duser.variant | |
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) | |
# Warmup: 5 iterations, 5 s each | |
# Measurement: 3 iterations, 5 s each | |
# Timeout: 10 min per iteration | |
# Threads: 1 thread, will synchronize iterations | |
# Benchmark mode: Sampling time | |
# Benchmark: uk.co.palmr.benchmarks.ForLoopBenchmark.plainIntSetIteratorWhile | |
# Run progress: 85.00% complete, ETA 00:10:06 | |
# Fork: 1 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 5433.397 ±(99.9%) 25.430 us/op | |
# Warmup Iteration 2: 5612.311 ±(99.9%) 40.609 us/op | |
# Warmup Iteration 3: 5560.691 ±(99.9%) 9.284 us/op | |
# Warmup Iteration 4: 5532.436 ±(99.9%) 8.126 us/op | |
# Warmup Iteration 5: 5517.032 ±(99.9%) 6.174 us/op | |
Iteration 1: 5553.621 ±(99.9%) 18.885 us/op | |
plainIntSetIteratorWhile·p0.00: 5464.064 us/op | |
plainIntSetIteratorWhile·p0.50: 5529.600 us/op | |
plainIntSetIteratorWhile·p0.90: 5619.712 us/op | |
plainIntSetIteratorWhile·p0.95: 5668.454 us/op | |
plainIntSetIteratorWhile·p0.99: 5840.568 us/op | |
plainIntSetIteratorWhile·p0.999: 10125.312 us/op | |
plainIntSetIteratorWhile·p0.9999: 10125.312 us/op | |
plainIntSetIteratorWhile·p1.00: 10125.312 us/op | |
·gc.alloc.rate: 0.017 MB/sec | |
·gc.alloc.rate.norm: 98.560 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 5565.351 ±(99.9%) 7.952 us/op | |
plainIntSetIteratorWhile·p0.00: 5464.064 us/op | |
plainIntSetIteratorWhile·p0.50: 5554.176 us/op | |
plainIntSetIteratorWhile·p0.90: 5668.864 us/op | |
plainIntSetIteratorWhile·p0.95: 5701.632 us/op | |
plainIntSetIteratorWhile·p0.99: 5775.524 us/op | |
plainIntSetIteratorWhile·p0.999: 5840.896 us/op | |
plainIntSetIteratorWhile·p0.9999: 5840.896 us/op | |
plainIntSetIteratorWhile·p1.00: 5840.896 us/op | |
·gc.alloc.rate: 0.011 MB/sec | |
·gc.alloc.rate.norm: 66.717 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 5581.641 ±(99.9%) 9.450 us/op | |
plainIntSetIteratorWhile·p0.00: 5455.872 us/op | |
plainIntSetIteratorWhile·p0.50: 5545.984 us/op | |
plainIntSetIteratorWhile·p0.90: 5709.824 us/op | |
plainIntSetIteratorWhile·p0.95: 5758.976 us/op | |
plainIntSetIteratorWhile·p0.99: 5857.280 us/op | |
plainIntSetIteratorWhile·p0.999: 6266.880 us/op | |
plainIntSetIteratorWhile·p0.9999: 6266.880 us/op | |
plainIntSetIteratorWhile·p1.00: 6266.880 us/op | |
·gc.alloc.rate: 0.011 MB/sec | |
·gc.alloc.rate.norm: 67.196 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 86.00% complete, ETA 00:09:25 | |
# Fork: 2 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 5526.474 ±(99.9%) 37.949 us/op | |
# Warmup Iteration 2: 5665.604 ±(99.9%) 68.412 us/op | |
# Warmup Iteration 3: 5516.797 ±(99.9%) 28.900 us/op | |
# Warmup Iteration 4: 5751.416 ±(99.9%) 78.535 us/op | |
# Warmup Iteration 5: 5413.252 ±(99.9%) 14.084 us/op | |
Iteration 1: 5504.266 ±(99.9%) 27.630 us/op | |
plainIntSetIteratorWhile·p0.00: 5324.800 us/op | |
plainIntSetIteratorWhile·p0.50: 5439.488 us/op | |
plainIntSetIteratorWhile·p0.90: 5636.915 us/op | |
plainIntSetIteratorWhile·p0.95: 5775.360 us/op | |
plainIntSetIteratorWhile·p0.99: 7023.657 us/op | |
plainIntSetIteratorWhile·p0.999: 7675.904 us/op | |
plainIntSetIteratorWhile·p0.9999: 7675.904 us/op | |
plainIntSetIteratorWhile·p1.00: 7675.904 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 68.581 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 5491.287 ±(99.9%) 11.590 us/op | |
plainIntSetIteratorWhile·p0.00: 5332.992 us/op | |
plainIntSetIteratorWhile·p0.50: 5480.448 us/op | |
plainIntSetIteratorWhile·p0.90: 5611.520 us/op | |
plainIntSetIteratorWhile·p0.95: 5688.934 us/op | |
plainIntSetIteratorWhile·p0.99: 5832.704 us/op | |
plainIntSetIteratorWhile·p0.999: 6111.232 us/op | |
plainIntSetIteratorWhile·p0.9999: 6111.232 us/op | |
plainIntSetIteratorWhile·p1.00: 6111.232 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 67.314 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 5547.584 ±(99.9%) 14.285 us/op | |
plainIntSetIteratorWhile·p0.00: 5316.608 us/op | |
plainIntSetIteratorWhile·p0.50: 5537.792 us/op | |
plainIntSetIteratorWhile·p0.90: 5691.802 us/op | |
plainIntSetIteratorWhile·p0.95: 5783.552 us/op | |
plainIntSetIteratorWhile·p0.99: 6012.764 us/op | |
plainIntSetIteratorWhile·p0.999: 6488.064 us/op | |
plainIntSetIteratorWhile·p0.9999: 6488.064 us/op | |
plainIntSetIteratorWhile·p1.00: 6488.064 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 68.289 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 87.00% complete, ETA 00:08:45 | |
# Fork: 3 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 7543.596 ±(99.9%) 236.612 us/op | |
# Warmup Iteration 2: 6206.727 ±(99.9%) 111.682 us/op | |
# Warmup Iteration 3: 5687.457 ±(99.9%) 12.503 us/op | |
# Warmup Iteration 4: 5797.579 ±(99.9%) 13.313 us/op | |
# Warmup Iteration 5: 5845.677 ±(99.9%) 12.885 us/op | |
Iteration 1: 5885.021 ±(99.9%) 11.278 us/op | |
plainIntSetIteratorWhile·p0.00: 5734.400 us/op | |
plainIntSetIteratorWhile·p0.50: 5865.472 us/op | |
plainIntSetIteratorWhile·p0.90: 6004.736 us/op | |
plainIntSetIteratorWhile·p0.95: 6070.272 us/op | |
plainIntSetIteratorWhile·p0.99: 6225.920 us/op | |
plainIntSetIteratorWhile·p0.999: 6619.136 us/op | |
plainIntSetIteratorWhile·p0.9999: 6619.136 us/op | |
plainIntSetIteratorWhile·p1.00: 6619.136 us/op | |
·gc.alloc.rate: 0.011 MB/sec | |
·gc.alloc.rate.norm: 69.616 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 5942.122 ±(99.9%) 17.676 us/op | |
plainIntSetIteratorWhile·p0.00: 5750.784 us/op | |
plainIntSetIteratorWhile·p0.50: 5914.624 us/op | |
plainIntSetIteratorWhile·p0.90: 6103.040 us/op | |
plainIntSetIteratorWhile·p0.95: 6242.304 us/op | |
plainIntSetIteratorWhile·p0.99: 6582.927 us/op | |
plainIntSetIteratorWhile·p0.999: 6856.704 us/op | |
plainIntSetIteratorWhile·p0.9999: 6856.704 us/op | |
plainIntSetIteratorWhile·p1.00: 6856.704 us/op | |
·gc.alloc.rate: 0.011 MB/sec | |
·gc.alloc.rate.norm: 71.210 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 5931.591 ±(99.9%) 15.688 us/op | |
plainIntSetIteratorWhile·p0.00: 5734.400 us/op | |
plainIntSetIteratorWhile·p0.50: 5906.432 us/op | |
plainIntSetIteratorWhile·p0.90: 6135.808 us/op | |
plainIntSetIteratorWhile·p0.95: 6168.576 us/op | |
plainIntSetIteratorWhile·p0.99: 6357.975 us/op | |
plainIntSetIteratorWhile·p0.999: 6815.744 us/op | |
plainIntSetIteratorWhile·p0.9999: 6815.744 us/op | |
plainIntSetIteratorWhile·p1.00: 6815.744 us/op | |
·gc.alloc.rate: 0.011 MB/sec | |
·gc.alloc.rate.norm: 70.643 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 88.00% complete, ETA 00:08:04 | |
# Fork: 4 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 5909.608 ±(99.9%) 32.700 us/op | |
# Warmup Iteration 2: 5807.900 ±(99.9%) 14.023 us/op | |
# Warmup Iteration 3: 5941.976 ±(99.9%) 25.080 us/op | |
# Warmup Iteration 4: 5855.314 ±(99.9%) 18.246 us/op | |
# Warmup Iteration 5: 5842.016 ±(99.9%) 8.946 us/op | |
Iteration 1: 5873.337 ±(99.9%) 13.360 us/op | |
plainIntSetIteratorWhile·p0.00: 5718.016 us/op | |
plainIntSetIteratorWhile·p0.50: 5832.704 us/op | |
plainIntSetIteratorWhile·p0.90: 6021.120 us/op | |
plainIntSetIteratorWhile·p0.95: 6122.701 us/op | |
plainIntSetIteratorWhile·p0.99: 6282.936 us/op | |
plainIntSetIteratorWhile·p0.999: 6873.088 us/op | |
plainIntSetIteratorWhile·p0.9999: 6873.088 us/op | |
plainIntSetIteratorWhile·p1.00: 6873.088 us/op | |
·gc.alloc.rate: 0.011 MB/sec | |
·gc.alloc.rate.norm: 70.045 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 5956.150 ±(99.9%) 24.799 us/op | |
plainIntSetIteratorWhile·p0.00: 5611.520 us/op | |
plainIntSetIteratorWhile·p0.50: 5931.008 us/op | |
plainIntSetIteratorWhile·p0.90: 6242.304 us/op | |
plainIntSetIteratorWhile·p0.95: 6365.184 us/op | |
plainIntSetIteratorWhile·p0.99: 6633.882 us/op | |
plainIntSetIteratorWhile·p0.999: 7323.648 us/op | |
plainIntSetIteratorWhile·p0.9999: 7323.648 us/op | |
plainIntSetIteratorWhile·p1.00: 7323.648 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 72.734 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 5801.675 ±(99.9%) 22.074 us/op | |
plainIntSetIteratorWhile·p0.00: 5562.368 us/op | |
plainIntSetIteratorWhile·p0.50: 5734.400 us/op | |
plainIntSetIteratorWhile·p0.90: 6078.464 us/op | |
plainIntSetIteratorWhile·p0.95: 6209.536 us/op | |
plainIntSetIteratorWhile·p0.99: 6466.519 us/op | |
plainIntSetIteratorWhile·p0.999: 6660.096 us/op | |
plainIntSetIteratorWhile·p0.9999: 6660.096 us/op | |
plainIntSetIteratorWhile·p1.00: 6660.096 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 70.905 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 89.00% complete, ETA 00:07:24 | |
# Fork: 5 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 5419.106 ±(99.9%) 25.519 us/op | |
# Warmup Iteration 2: 5538.718 ±(99.9%) 13.807 us/op | |
# Warmup Iteration 3: 5529.129 ±(99.9%) 25.557 us/op | |
# Warmup Iteration 4: 5353.858 ±(99.9%) 9.349 us/op | |
# Warmup Iteration 5: 5338.663 ±(99.9%) 9.726 us/op | |
Iteration 1: 5385.022 ±(99.9%) 15.542 us/op | |
plainIntSetIteratorWhile·p0.00: 5251.072 us/op | |
plainIntSetIteratorWhile·p0.50: 5341.184 us/op | |
plainIntSetIteratorWhile·p0.90: 5514.035 us/op | |
plainIntSetIteratorWhile·p0.95: 5619.712 us/op | |
plainIntSetIteratorWhile·p0.99: 5819.761 us/op | |
plainIntSetIteratorWhile·p0.999: 8175.616 us/op | |
plainIntSetIteratorWhile·p0.9999: 8175.616 us/op | |
plainIntSetIteratorWhile·p1.00: 8175.616 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 66.914 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 5365.417 ±(99.9%) 45.392 us/op | |
plainIntSetIteratorWhile·p0.00: 5283.840 us/op | |
plainIntSetIteratorWhile·p0.50: 5332.992 us/op | |
plainIntSetIteratorWhile·p0.90: 5414.912 us/op | |
plainIntSetIteratorWhile·p0.95: 5488.640 us/op | |
plainIntSetIteratorWhile·p0.99: 5674.435 us/op | |
plainIntSetIteratorWhile·p0.999: 17596.416 us/op | |
plainIntSetIteratorWhile·p0.9999: 17596.416 us/op | |
plainIntSetIteratorWhile·p1.00: 17596.416 us/op | |
·gc.alloc.rate: 0.023 MB/sec | |
·gc.alloc.rate.norm: 127.313 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 5353.612 ±(99.9%) 7.029 us/op | |
plainIntSetIteratorWhile·p0.00: 5267.456 us/op | |
plainIntSetIteratorWhile·p0.50: 5337.088 us/op | |
plainIntSetIteratorWhile·p0.90: 5423.104 us/op | |
plainIntSetIteratorWhile·p0.95: 5472.256 us/op | |
plainIntSetIteratorWhile·p0.99: 5603.328 us/op | |
plainIntSetIteratorWhile·p0.999: 6078.464 us/op | |
plainIntSetIteratorWhile·p0.9999: 6078.464 us/op | |
plainIntSetIteratorWhile·p1.00: 6078.464 us/op | |
·gc.alloc.rate: 0.012 MB/sec | |
·gc.alloc.rate.norm: 65.465 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
Result "uk.co.palmr.benchmarks.ForLoopBenchmark.plainIntSetIteratorWhile": | |
N = 13292 | |
mean = 5640.916 ±(99.9%) 8.046 us/op | |
Histogram, us/op: | |
[ 0.000, 1250.000) = 0 | |
[ 1250.000, 2500.000) = 0 | |
[ 2500.000, 3750.000) = 0 | |
[ 3750.000, 5000.000) = 0 | |
[ 5000.000, 6250.000) = 13062 | |
[ 6250.000, 7500.000) = 224 | |
[ 7500.000, 8750.000) = 4 | |
[ 8750.000, 10000.000) = 0 | |
[10000.000, 11250.000) = 1 | |
[11250.000, 12500.000) = 0 | |
[12500.000, 13750.000) = 0 | |
[13750.000, 15000.000) = 0 | |
[15000.000, 16250.000) = 0 | |
[16250.000, 17500.000) = 0 | |
[17500.000, 18750.000) = 1 | |
Percentiles, us/op: | |
p(0.0000) = 5251.072 us/op | |
p(50.0000) = 5570.560 us/op | |
p(90.0000) = 5971.968 us/op | |
p(95.0000) = 6070.272 us/op | |
p(99.0000) = 6356.992 us/op | |
p(99.9000) = 7068.287 us/op | |
p(99.9900) = 15136.181 us/op | |
p(99.9990) = 17596.416 us/op | |
p(99.9999) = 17596.416 us/op | |
p(100.0000) = 17596.416 us/op | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.plainIntSetIteratorWhile:·gc.alloc.rate": | |
0.013 ±(99.9%) 0.003 MB/sec [Average] | |
(min, avg, max) = (0.011, 0.013, 0.023), stdev = 0.003 | |
CI (99.9%): [0.009, 0.016] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.plainIntSetIteratorWhile:·gc.alloc.rate.norm": | |
74.767 ±(99.9%) 17.684 B/op [Average] | |
(min, avg, max) = (65.465, 74.767, 127.313), stdev = 16.542 | |
CI (99.9%): [57.083, 92.451] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.plainIntSetIteratorWhile:·gc.count": | |
≈ 0 counts | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.plainIntSetIteratorWhile:·perf": | |
Perf stats: | |
-------------------------------------------------- | |
14,428.73 msec task-clock:u # 1.002 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
89 page-faults:u # 6.168 /sec | |
76,044,426,368 cycles:u # 5.270 GHz (35.76%) | |
214,457,538 stalled-cycles-frontend:u # 0.28% frontend cycles idle (35.81%) | |
282,083,219,821 instructions:u # 3.71 insn per cycle | |
# 0.00 stalled cycles per insn (35.83%) | |
63,418,148,599 branches:u # 4.395 G/sec (35.91%) | |
1,870,868 branch-misses:u # 0.00% of all branches (35.92%) | |
84,839,130,368 L1-dcache-loads:u # 5.880 G/sec (35.79%) | |
2,438,638,328 L1-dcache-load-misses:u # 2.87% of all L1-dcache accesses (35.75%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
46,979,067 L1-icache-loads:u # 3.256 M/sec (35.75%) | |
94,628 L1-icache-load-misses:u # 0.20% of all L1-icache accesses (35.76%) | |
308,605 dTLB-loads:u # 21.388 K/sec (35.76%) | |
17,531 dTLB-load-misses:u # 5.68% of all dTLB cache accesses (35.75%) | |
1,665 iTLB-loads:u # 115.395 /sec (35.73%) | |
966 iTLB-load-misses:u # 58.02% of all iTLB cache accesses (35.70%) | |
2,200,381,748 L1-dcache-prefetches:u # 152.500 M/sec (35.68%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.406731490 seconds time elapsed | |
41.089177000 seconds user | |
0.189257000 seconds sys | |
14,405.13 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
87 page-faults:u # 6.040 /sec | |
78,583,578,673 cycles:u # 5.455 GHz (35.82%) | |
184,988,070 stalled-cycles-frontend:u # 0.24% frontend cycles idle (35.84%) | |
284,355,287,571 instructions:u # 3.62 insn per cycle | |
# 0.00 stalled cycles per insn (35.90%) | |
63,953,323,073 branches:u # 4.440 G/sec (35.91%) | |
2,125,704 branch-misses:u # 0.00% of all branches (35.92%) | |
85,409,348,400 L1-dcache-loads:u # 5.929 G/sec (35.75%) | |
2,455,021,313 L1-dcache-load-misses:u # 2.87% of all L1-dcache accesses (35.73%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
43,501,476 L1-icache-loads:u # 3.020 M/sec (35.68%) | |
73,538 L1-icache-load-misses:u # 0.17% of all L1-icache accesses (35.70%) | |
322,520 dTLB-loads:u # 22.389 K/sec (35.75%) | |
8,315 dTLB-load-misses:u # 2.58% of all dTLB cache accesses (35.74%) | |
1,418 iTLB-loads:u # 98.437 /sec (35.73%) | |
850 iTLB-load-misses:u # 59.94% of all iTLB cache accesses (35.73%) | |
2,213,979,437 L1-dcache-prefetches:u # 153.694 M/sec (35.72%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.384582681 seconds time elapsed | |
40.290707000 seconds user | |
0.901618000 seconds sys | |
14,423.30 msec task-clock:u # 1.002 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
86 page-faults:u # 5.963 /sec | |
75,853,236,141 cycles:u # 5.259 GHz (35.82%) | |
218,521,762 stalled-cycles-frontend:u # 0.29% frontend cycles idle (35.90%) | |
264,631,076,113 instructions:u # 3.49 insn per cycle | |
# 0.00 stalled cycles per insn (35.93%) | |
59,515,950,922 branches:u # 4.126 G/sec (35.94%) | |
2,736,940 branch-misses:u # 0.00% of all branches (35.94%) | |
79,596,834,688 L1-dcache-loads:u # 5.519 G/sec (35.81%) | |
2,300,505,424 L1-dcache-load-misses:u # 2.89% of all L1-dcache accesses (35.70%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
47,099,408 L1-icache-loads:u # 3.266 M/sec (35.71%) | |
95,221 L1-icache-load-misses:u # 0.20% of all L1-icache accesses (35.74%) | |
312,902 dTLB-loads:u # 21.694 K/sec (35.73%) | |
13,487 dTLB-load-misses:u # 4.31% of all dTLB cache accesses (35.71%) | |
2,487 iTLB-loads:u # 172.429 /sec (35.70%) | |
756 iTLB-load-misses:u # 30.40% of all iTLB cache accesses (35.67%) | |
2,063,531,358 L1-dcache-prefetches:u # 143.069 M/sec (35.66%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.397087131 seconds time elapsed | |
40.974300000 seconds user | |
0.211645000 seconds sys | |
14,432.11 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
86 page-faults:u # 5.959 /sec | |
77,439,400,754 cycles:u # 5.366 GHz (35.78%) | |
217,186,098 stalled-cycles-frontend:u # 0.28% frontend cycles idle (35.83%) | |
268,215,206,110 instructions:u # 3.46 insn per cycle | |
# 0.00 stalled cycles per insn (35.84%) | |
59,914,402,213 branches:u # 4.151 G/sec (35.85%) | |
2,046,131 branch-misses:u # 0.00% of all branches (35.93%) | |
79,959,246,721 L1-dcache-loads:u # 5.540 G/sec (35.79%) | |
2,338,437,596 L1-dcache-load-misses:u # 2.92% of all L1-dcache accesses (35.72%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
50,275,337 L1-icache-loads:u # 3.484 M/sec (35.73%) | |
78,831 L1-icache-load-misses:u # 0.16% of all L1-icache accesses (35.76%) | |
321,065 dTLB-loads:u # 22.247 K/sec (35.75%) | |
15,586 dTLB-load-misses:u # 4.85% of all dTLB cache accesses (35.74%) | |
4,829 iTLB-loads:u # 334.601 /sec (35.74%) | |
2,110 iTLB-load-misses:u # 43.69% of all iTLB cache accesses (35.72%) | |
2,064,979,702 L1-dcache-prefetches:u # 143.082 M/sec (35.69%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.411618257 seconds time elapsed | |
41.111182000 seconds user | |
0.150405000 seconds sys | |
14,421.17 msec task-clock:u # 1.002 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
237 page-faults:u # 16.434 /sec | |
78,418,177,329 cycles:u # 5.438 GHz (35.82%) | |
224,256,133 stalled-cycles-frontend:u # 0.29% frontend cycles idle (35.89%) | |
291,061,961,648 instructions:u # 3.71 insn per cycle | |
# 0.00 stalled cycles per insn (35.92%) | |
65,612,464,401 branches:u # 4.550 G/sec (35.94%) | |
3,507,553 branch-misses:u # 0.01% of all branches (35.95%) | |
87,812,059,690 L1-dcache-loads:u # 6.089 G/sec (35.81%) | |
2,517,990,139 L1-dcache-load-misses:u # 2.87% of all L1-dcache accesses (35.74%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
51,586,639 L1-icache-loads:u # 3.577 M/sec (35.71%) | |
70,121 L1-icache-load-misses:u # 0.14% of all L1-icache accesses (35.74%) | |
385,702 dTLB-loads:u # 26.746 K/sec (35.72%) | |
17,167 dTLB-load-misses:u # 4.45% of all dTLB cache accesses (35.70%) | |
893 iTLB-loads:u # 61.923 /sec (35.68%) | |
420 iTLB-load-misses:u # 47.03% of all iTLB cache accesses (35.67%) | |
2,264,361,597 L1-dcache-prefetches:u # 157.017 M/sec (35.72%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.393863586 seconds time elapsed | |
39.847058000 seconds user | |
1.282078000 seconds sys | |
# JMH version: 1.36 | |
# VM version: JDK 21.0.4, OpenJDK 64-Bit Server VM, 21.0.4+7-LTS | |
# VM invoker: /home/nick/.jdks/azul-21.0.4/bin/java | |
# VM options: -Dfile.encoding=UTF-8 -Duser.country=GB -Duser.language=en -Duser.variant | |
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) | |
# Warmup: 5 iterations, 5 s each | |
# Measurement: 3 iterations, 5 s each | |
# Timeout: 10 min per iteration | |
# Threads: 1 thread, will synchronize iterations | |
# Benchmark mode: Sampling time | |
# Benchmark: uk.co.palmr.benchmarks.ForLoopBenchmark.primitiveArrayEnhancedFor | |
# Run progress: 90.00% complete, ETA 00:06:44 | |
# Fork: 1 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 75.815 ±(99.9%) 0.153 us/op | |
# Warmup Iteration 2: 75.199 ±(99.9%) 0.021 us/op | |
# Warmup Iteration 3: 75.083 ±(99.9%) 0.015 us/op | |
# Warmup Iteration 4: 75.191 ±(99.9%) 0.016 us/op | |
# Warmup Iteration 5: 75.667 ±(99.9%) 0.017 us/op | |
Iteration 1: 76.179 ±(99.9%) 0.021 us/op | |
primitiveArrayEnhancedFor·p0.00: 74.112 us/op | |
primitiveArrayEnhancedFor·p0.50: 76.032 us/op | |
primitiveArrayEnhancedFor·p0.90: 76.672 us/op | |
primitiveArrayEnhancedFor·p0.95: 79.488 us/op | |
primitiveArrayEnhancedFor·p0.99: 81.664 us/op | |
primitiveArrayEnhancedFor·p0.999: 88.320 us/op | |
primitiveArrayEnhancedFor·p0.9999: 102.344 us/op | |
primitiveArrayEnhancedFor·p1.00: 221.952 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 1.006 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 75.984 ±(99.9%) 0.021 us/op | |
primitiveArrayEnhancedFor·p0.00: 74.112 us/op | |
primitiveArrayEnhancedFor·p0.50: 75.520 us/op | |
primitiveArrayEnhancedFor·p0.90: 76.544 us/op | |
primitiveArrayEnhancedFor·p0.95: 79.360 us/op | |
primitiveArrayEnhancedFor·p0.99: 81.536 us/op | |
primitiveArrayEnhancedFor·p0.999: 88.064 us/op | |
primitiveArrayEnhancedFor·p0.9999: 127.232 us/op | |
primitiveArrayEnhancedFor·p1.00: 221.696 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 1.002 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 76.048 ±(99.9%) 0.022 us/op | |
primitiveArrayEnhancedFor·p0.00: 74.240 us/op | |
primitiveArrayEnhancedFor·p0.50: 75.904 us/op | |
primitiveArrayEnhancedFor·p0.90: 76.672 us/op | |
primitiveArrayEnhancedFor·p0.95: 79.488 us/op | |
primitiveArrayEnhancedFor·p0.99: 81.664 us/op | |
primitiveArrayEnhancedFor·p0.999: 88.704 us/op | |
primitiveArrayEnhancedFor·p0.9999: 100.924 us/op | |
primitiveArrayEnhancedFor·p1.00: 220.672 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 1.005 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 91.00% complete, ETA 00:06:03 | |
# Fork: 2 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 72.767 ±(99.9%) 0.146 us/op | |
# Warmup Iteration 2: 72.550 ±(99.9%) 0.022 us/op | |
# Warmup Iteration 3: 75.129 ±(99.9%) 0.021 us/op | |
# Warmup Iteration 4: 75.180 ±(99.9%) 0.020 us/op | |
# Warmup Iteration 5: 75.118 ±(99.9%) 0.021 us/op | |
Iteration 1: 75.709 ±(99.9%) 0.024 us/op | |
primitiveArrayEnhancedFor·p0.00: 73.856 us/op | |
primitiveArrayEnhancedFor·p0.50: 75.136 us/op | |
primitiveArrayEnhancedFor·p0.90: 77.184 us/op | |
primitiveArrayEnhancedFor·p0.95: 79.232 us/op | |
primitiveArrayEnhancedFor·p0.99: 81.664 us/op | |
primitiveArrayEnhancedFor·p0.999: 90.507 us/op | |
primitiveArrayEnhancedFor·p0.9999: 105.704 us/op | |
primitiveArrayEnhancedFor·p1.00: 218.112 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 1.009 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 75.591 ±(99.9%) 0.025 us/op | |
primitiveArrayEnhancedFor·p0.00: 73.600 us/op | |
primitiveArrayEnhancedFor·p0.50: 75.136 us/op | |
primitiveArrayEnhancedFor·p0.90: 77.824 us/op | |
primitiveArrayEnhancedFor·p0.95: 79.232 us/op | |
primitiveArrayEnhancedFor·p0.99: 82.048 us/op | |
primitiveArrayEnhancedFor·p0.999: 92.920 us/op | |
primitiveArrayEnhancedFor·p0.9999: 129.408 us/op | |
primitiveArrayEnhancedFor·p1.00: 228.352 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 1.015 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 76.367 ±(99.9%) 0.028 us/op | |
primitiveArrayEnhancedFor·p0.00: 73.856 us/op | |
primitiveArrayEnhancedFor·p0.50: 76.032 us/op | |
primitiveArrayEnhancedFor·p0.90: 78.720 us/op | |
primitiveArrayEnhancedFor·p0.95: 80.384 us/op | |
primitiveArrayEnhancedFor·p0.99: 84.608 us/op | |
primitiveArrayEnhancedFor·p0.999: 94.926 us/op | |
primitiveArrayEnhancedFor·p0.9999: 107.874 us/op | |
primitiveArrayEnhancedFor·p1.00: 227.072 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 1.048 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 92.00% complete, ETA 00:05:23 | |
# Fork: 3 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 72.924 ±(99.9%) 0.145 us/op | |
# Warmup Iteration 2: 73.357 ±(99.9%) 0.029 us/op | |
# Warmup Iteration 3: 73.959 ±(99.9%) 0.031 us/op | |
# Warmup Iteration 4: 73.766 ±(99.9%) 0.038 us/op | |
# Warmup Iteration 5: 73.818 ±(99.9%) 0.042 us/op | |
Iteration 1: 73.247 ±(99.9%) 0.031 us/op | |
primitiveArrayEnhancedFor·p0.00: 70.400 us/op | |
primitiveArrayEnhancedFor·p0.50: 72.704 us/op | |
primitiveArrayEnhancedFor·p0.90: 76.288 us/op | |
primitiveArrayEnhancedFor·p0.95: 77.184 us/op | |
primitiveArrayEnhancedFor·p0.99: 80.768 us/op | |
primitiveArrayEnhancedFor·p0.999: 89.216 us/op | |
primitiveArrayEnhancedFor·p0.9999: 127.232 us/op | |
primitiveArrayEnhancedFor·p1.00: 372.736 us/op | |
·gc.alloc.rate: 0.018 MB/sec | |
·gc.alloc.rate.norm: 1.411 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 73.557 ±(99.9%) 0.032 us/op | |
primitiveArrayEnhancedFor·p0.00: 71.168 us/op | |
primitiveArrayEnhancedFor·p0.50: 72.704 us/op | |
primitiveArrayEnhancedFor·p0.90: 76.672 us/op | |
primitiveArrayEnhancedFor·p0.95: 77.824 us/op | |
primitiveArrayEnhancedFor·p0.99: 81.664 us/op | |
primitiveArrayEnhancedFor·p0.999: 91.549 us/op | |
primitiveArrayEnhancedFor·p0.9999: 144.732 us/op | |
primitiveArrayEnhancedFor·p1.00: 223.744 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 1.002 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 73.597 ±(99.9%) 0.033 us/op | |
primitiveArrayEnhancedFor·p0.00: 71.296 us/op | |
primitiveArrayEnhancedFor·p0.50: 72.960 us/op | |
primitiveArrayEnhancedFor·p0.90: 76.544 us/op | |
primitiveArrayEnhancedFor·p0.95: 77.696 us/op | |
primitiveArrayEnhancedFor·p0.99: 81.664 us/op | |
primitiveArrayEnhancedFor·p0.999: 93.075 us/op | |
primitiveArrayEnhancedFor·p0.9999: 151.882 us/op | |
primitiveArrayEnhancedFor·p1.00: 256.256 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 1.011 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 93.00% complete, ETA 00:04:42 | |
# Fork: 4 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 75.897 ±(99.9%) 0.159 us/op | |
# Warmup Iteration 2: 75.899 ±(99.9%) 0.038 us/op | |
# Warmup Iteration 3: 73.354 ±(99.9%) 0.030 us/op | |
# Warmup Iteration 4: 75.193 ±(99.9%) 0.024 us/op | |
# Warmup Iteration 5: 75.266 ±(99.9%) 0.030 us/op | |
Iteration 1: 76.339 ±(99.9%) 0.032 us/op | |
primitiveArrayEnhancedFor·p0.00: 72.960 us/op | |
primitiveArrayEnhancedFor·p0.50: 75.904 us/op | |
primitiveArrayEnhancedFor·p0.90: 78.976 us/op | |
primitiveArrayEnhancedFor·p0.95: 80.640 us/op | |
primitiveArrayEnhancedFor·p0.99: 85.376 us/op | |
primitiveArrayEnhancedFor·p0.999: 99.072 us/op | |
primitiveArrayEnhancedFor·p0.9999: 128.902 us/op | |
primitiveArrayEnhancedFor·p1.00: 222.976 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 1.063 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 74.173 ±(99.9%) 0.057 us/op | |
primitiveArrayEnhancedFor·p0.00: 71.552 us/op | |
primitiveArrayEnhancedFor·p0.50: 72.832 us/op | |
primitiveArrayEnhancedFor·p0.90: 76.800 us/op | |
primitiveArrayEnhancedFor·p0.95: 78.464 us/op | |
primitiveArrayEnhancedFor·p0.99: 85.888 us/op | |
primitiveArrayEnhancedFor·p0.999: 150.884 us/op | |
primitiveArrayEnhancedFor·p0.9999: 197.924 us/op | |
primitiveArrayEnhancedFor·p1.00: 221.952 us/op | |
·gc.alloc.rate: 0.014 MB/sec | |
·gc.alloc.rate.norm: 1.093 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 74.324 ±(99.9%) 0.034 us/op | |
primitiveArrayEnhancedFor·p0.00: 71.680 us/op | |
primitiveArrayEnhancedFor·p0.50: 73.600 us/op | |
primitiveArrayEnhancedFor·p0.90: 76.928 us/op | |
primitiveArrayEnhancedFor·p0.95: 78.720 us/op | |
primitiveArrayEnhancedFor·p0.99: 85.120 us/op | |
primitiveArrayEnhancedFor·p0.999: 98.024 us/op | |
primitiveArrayEnhancedFor·p0.9999: 128.856 us/op | |
primitiveArrayEnhancedFor·p1.00: 170.240 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 1.039 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 94.00% complete, ETA 00:04:02 | |
# Fork: 5 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 73.322 ±(99.9%) 0.146 us/op | |
# Warmup Iteration 2: 73.205 ±(99.9%) 0.031 us/op | |
# Warmup Iteration 3: 73.237 ±(99.9%) 0.032 us/op | |
# Warmup Iteration 4: 73.030 ±(99.9%) 0.031 us/op | |
# Warmup Iteration 5: 73.472 ±(99.9%) 0.036 us/op | |
Iteration 1: 73.431 ±(99.9%) 0.030 us/op | |
primitiveArrayEnhancedFor·p0.00: 71.552 us/op | |
primitiveArrayEnhancedFor·p0.50: 72.576 us/op | |
primitiveArrayEnhancedFor·p0.90: 76.672 us/op | |
primitiveArrayEnhancedFor·p0.95: 77.696 us/op | |
primitiveArrayEnhancedFor·p0.99: 81.536 us/op | |
primitiveArrayEnhancedFor·p0.999: 91.136 us/op | |
primitiveArrayEnhancedFor·p0.9999: 111.002 us/op | |
primitiveArrayEnhancedFor·p1.00: 241.920 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 0.992 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 73.402 ±(99.9%) 0.030 us/op | |
primitiveArrayEnhancedFor·p0.00: 71.296 us/op | |
primitiveArrayEnhancedFor·p0.50: 72.576 us/op | |
primitiveArrayEnhancedFor·p0.90: 76.672 us/op | |
primitiveArrayEnhancedFor·p0.95: 77.696 us/op | |
primitiveArrayEnhancedFor·p0.99: 81.664 us/op | |
primitiveArrayEnhancedFor·p0.999: 91.260 us/op | |
primitiveArrayEnhancedFor·p0.9999: 101.760 us/op | |
primitiveArrayEnhancedFor·p1.00: 219.904 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 0.990 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 73.529 ±(99.9%) 0.032 us/op | |
primitiveArrayEnhancedFor·p0.00: 71.552 us/op | |
primitiveArrayEnhancedFor·p0.50: 72.576 us/op | |
primitiveArrayEnhancedFor·p0.90: 76.800 us/op | |
primitiveArrayEnhancedFor·p0.95: 77.952 us/op | |
primitiveArrayEnhancedFor·p0.99: 82.816 us/op | |
primitiveArrayEnhancedFor·p0.999: 92.032 us/op | |
primitiveArrayEnhancedFor·p0.9999: 104.977 us/op | |
primitiveArrayEnhancedFor·p1.00: 224.768 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 0.996 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
Result "uk.co.palmr.benchmarks.ForLoopBenchmark.primitiveArrayEnhancedFor": | |
N = 1002101 | |
mean = 74.745 ±(99.9%) 0.009 us/op | |
Histogram, us/op: | |
[ 0.000, 25.000) = 0 | |
[ 25.000, 50.000) = 0 | |
[ 50.000, 75.000) = 516113 | |
[ 75.000, 100.000) = 485478 | |
[100.000, 125.000) = 302 | |
[125.000, 150.000) = 101 | |
[150.000, 175.000) = 60 | |
[175.000, 200.000) = 18 | |
[200.000, 225.000) = 21 | |
[225.000, 250.000) = 6 | |
[250.000, 275.000) = 1 | |
[275.000, 300.000) = 0 | |
[300.000, 325.000) = 0 | |
[325.000, 350.000) = 0 | |
[350.000, 375.000) = 1 | |
Percentiles, us/op: | |
p(0.0000) = 70.400 us/op | |
p(50.0000) = 74.880 us/op | |
p(90.0000) = 76.800 us/op | |
p(95.0000) = 79.104 us/op | |
p(99.0000) = 82.816 us/op | |
p(99.9000) = 93.824 us/op | |
p(99.9900) = 152.320 us/op | |
p(99.9990) = 223.995 us/op | |
p(99.9999) = 372.491 us/op | |
p(100.0000) = 372.736 us/op | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.primitiveArrayEnhancedFor:·gc.alloc.rate": | |
0.013 ±(99.9%) 0.002 MB/sec [Average] | |
(min, avg, max) = (0.013, 0.013, 0.018), stdev = 0.001 | |
CI (99.9%): [0.012, 0.015] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.primitiveArrayEnhancedFor:·gc.alloc.rate.norm": | |
1.046 ±(99.9%) 0.112 B/op [Average] | |
(min, avg, max) = (0.990, 1.046, 1.411), stdev = 0.105 | |
CI (99.9%): [0.933, 1.158] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.primitiveArrayEnhancedFor:·gc.count": | |
≈ 0 counts | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.primitiveArrayEnhancedFor:·perf": | |
Perf stats: | |
-------------------------------------------------- | |
14,379.07 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
62 page-faults:u # 4.312 /sec | |
75,949,941,542 cycles:u # 5.282 GHz (35.72%) | |
720,527,273 stalled-cycles-frontend:u # 0.95% frontend cycles idle (35.79%) | |
258,337,129,255 instructions:u # 3.40 insn per cycle | |
# 0.00 stalled cycles per insn (35.87%) | |
23,486,645,265 branches:u # 1.633 G/sec (35.89%) | |
25,451,329 branch-misses:u # 0.11% of all branches (35.90%) | |
188,189,559,294 L1-dcache-loads:u # 13.088 G/sec (35.80%) | |
11,797,380,626 L1-dcache-load-misses:u # 6.27% of all L1-dcache accesses (35.74%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
89,317,754 L1-icache-loads:u # 6.212 M/sec (35.75%) | |
21,388 L1-icache-load-misses:u # 0.02% of all L1-icache accesses (35.76%) | |
45,878 dTLB-loads:u # 3.191 K/sec (35.75%) | |
8,946 dTLB-load-misses:u # 19.50% of all dTLB cache accesses (35.73%) | |
915 iTLB-loads:u # 63.634 /sec (35.71%) | |
1,255 iTLB-load-misses:u # 137.16% of all iTLB cache accesses (35.69%) | |
10,850,772,081 L1-dcache-prefetches:u # 754.623 M/sec (35.66%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.362135714 seconds time elapsed | |
40.909769000 seconds user | |
0.304795000 seconds sys | |
14,381.19 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
60 page-faults:u # 4.172 /sec | |
75,964,473,721 cycles:u # 5.282 GHz (35.77%) | |
613,645,809 stalled-cycles-frontend:u # 0.81% frontend cycles idle (35.80%) | |
259,451,300,037 instructions:u # 3.42 insn per cycle | |
# 0.00 stalled cycles per insn (35.82%) | |
23,549,119,235 branches:u # 1.637 G/sec (35.90%) | |
25,998,216 branch-misses:u # 0.11% of all branches (35.91%) | |
188,859,092,447 L1-dcache-loads:u # 13.132 G/sec (35.78%) | |
11,828,718,261 L1-dcache-load-misses:u # 6.26% of all L1-dcache accesses (35.76%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
98,686,035 L1-icache-loads:u # 6.862 M/sec (35.75%) | |
9,593 L1-icache-load-misses:u # 0.01% of all L1-icache accesses (35.76%) | |
25,177 dTLB-loads:u # 1.751 K/sec (35.75%) | |
3,691 dTLB-load-misses:u # 14.66% of all dTLB cache accesses (35.73%) | |
1,063 iTLB-loads:u # 73.916 /sec (35.72%) | |
997 iTLB-load-misses:u # 93.79% of all iTLB cache accesses (35.70%) | |
10,889,164,876 L1-dcache-prefetches:u # 757.181 M/sec (35.68%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.363200804 seconds time elapsed | |
41.017655000 seconds user | |
0.158974000 seconds sys | |
14,395.53 msec task-clock:u # 1.002 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
1,133 page-faults:u # 78.705 /sec | |
78,467,803,490 cycles:u # 5.451 GHz (35.76%) | |
618,317,454 stalled-cycles-frontend:u # 0.79% frontend cycles idle (35.82%) | |
267,958,571,967 instructions:u # 3.41 insn per cycle | |
# 0.00 stalled cycles per insn (35.84%) | |
24,335,995,475 branches:u # 1.691 G/sec (35.93%) | |
27,776,958 branch-misses:u # 0.11% of all branches (35.96%) | |
194,797,298,921 L1-dcache-loads:u # 13.532 G/sec (35.85%) | |
12,210,101,013 L1-dcache-load-misses:u # 6.27% of all L1-dcache accesses (35.79%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
100,203,254 L1-icache-loads:u # 6.961 M/sec (35.78%) | |
70,749 L1-icache-load-misses:u # 0.07% of all L1-icache accesses (35.76%) | |
232,890 dTLB-loads:u # 16.178 K/sec (35.72%) | |
8,412 dTLB-load-misses:u # 3.61% of all dTLB cache accesses (35.69%) | |
1,295 iTLB-loads:u # 89.958 /sec (35.67%) | |
1,770 iTLB-load-misses:u # 136.68% of all iTLB cache accesses (35.69%) | |
11,245,421,631 L1-dcache-prefetches:u # 781.175 M/sec (35.67%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.365705931 seconds time elapsed | |
40.971826000 seconds user | |
0.202832000 seconds sys | |
14,405.90 msec task-clock:u # 1.002 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
826 page-faults:u # 57.338 /sec | |
77,353,629,031 cycles:u # 5.370 GHz (35.80%) | |
681,049,335 stalled-cycles-frontend:u # 0.88% frontend cycles idle (35.84%) | |
263,333,962,081 instructions:u # 3.40 insn per cycle | |
# 0.00 stalled cycles per insn (35.85%) | |
23,952,949,845 branches:u # 1.663 G/sec (35.84%) | |
27,600,730 branch-misses:u # 0.12% of all branches (35.90%) | |
191,666,976,487 L1-dcache-loads:u # 13.305 G/sec (35.78%) | |
11,984,124,630 L1-dcache-load-misses:u # 6.25% of all L1-dcache accesses (35.79%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
100,864,509 L1-icache-loads:u # 7.002 M/sec (35.78%) | |
42,514 L1-icache-load-misses:u # 0.04% of all L1-icache accesses (35.76%) | |
42,334 dTLB-loads:u # 2.939 K/sec (35.69%) | |
915 dTLB-load-misses:u # 2.16% of all dTLB cache accesses (35.72%) | |
702 iTLB-loads:u # 48.730 /sec (35.73%) | |
1,099 iTLB-load-misses:u # 156.55% of all iTLB cache accesses (35.73%) | |
11,065,583,646 L1-dcache-prefetches:u # 768.129 M/sec (35.72%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.378860602 seconds time elapsed | |
41.076921000 seconds user | |
0.145442000 seconds sys | |
14,388.83 msec task-clock:u # 1.002 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
1,033 page-faults:u # 71.792 /sec | |
78,194,301,501 cycles:u # 5.434 GHz (35.76%) | |
497,678,906 stalled-cycles-frontend:u # 0.64% frontend cycles idle (35.80%) | |
267,898,941,704 instructions:u # 3.43 insn per cycle | |
# 0.00 stalled cycles per insn (35.86%) | |
24,375,517,456 branches:u # 1.694 G/sec (35.91%) | |
27,543,842 branch-misses:u # 0.11% of all branches (35.94%) | |
195,094,847,178 L1-dcache-loads:u # 13.559 G/sec (35.84%) | |
12,212,392,021 L1-dcache-load-misses:u # 6.26% of all L1-dcache accesses (35.86%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
103,175,611 L1-icache-loads:u # 7.171 M/sec (35.78%) | |
53,567 L1-icache-load-misses:u # 0.05% of all L1-icache accesses (35.73%) | |
116,474 dTLB-loads:u # 8.095 K/sec (35.69%) | |
5,478 dTLB-load-misses:u # 4.70% of all dTLB cache accesses (35.72%) | |
5 iTLB-loads:u # 0.347 /sec (35.70%) | |
30 iTLB-load-misses:u # 600.00% of all iTLB cache accesses (35.69%) | |
11,230,521,800 L1-dcache-prefetches:u # 780.503 M/sec (35.68%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.361264485 seconds time elapsed | |
40.862344000 seconds user | |
0.253966000 seconds sys | |
# JMH version: 1.36 | |
# VM version: JDK 21.0.4, OpenJDK 64-Bit Server VM, 21.0.4+7-LTS | |
# VM invoker: /home/nick/.jdks/azul-21.0.4/bin/java | |
# VM options: -Dfile.encoding=UTF-8 -Duser.country=GB -Duser.language=en -Duser.variant | |
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable) | |
# Warmup: 5 iterations, 5 s each | |
# Measurement: 3 iterations, 5 s each | |
# Timeout: 10 min per iteration | |
# Threads: 1 thread, will synchronize iterations | |
# Benchmark mode: Sampling time | |
# Benchmark: uk.co.palmr.benchmarks.ForLoopBenchmark.primitiveArrayForI | |
# Run progress: 95.00% complete, ETA 00:03:22 | |
# Fork: 1 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 74.406 ±(99.9%) 0.175 us/op | |
# Warmup Iteration 2: 72.696 ±(99.9%) 0.022 us/op | |
# Warmup Iteration 3: 72.647 ±(99.9%) 0.028 us/op | |
# Warmup Iteration 4: 72.655 ±(99.9%) 0.019 us/op | |
# Warmup Iteration 5: 73.063 ±(99.9%) 0.035 us/op | |
Iteration 1: 73.198 ±(99.9%) 0.025 us/op | |
primitiveArrayForI·p0.00: 71.296 us/op | |
primitiveArrayForI·p0.50: 72.576 us/op | |
primitiveArrayForI·p0.90: 76.288 us/op | |
primitiveArrayForI·p0.95: 77.184 us/op | |
primitiveArrayForI·p0.99: 80.512 us/op | |
primitiveArrayForI·p0.999: 87.296 us/op | |
primitiveArrayForI·p0.9999: 103.968 us/op | |
primitiveArrayForI·p1.00: 163.328 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 0.972 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 73.320 ±(99.9%) 0.025 us/op | |
primitiveArrayForI·p0.00: 71.296 us/op | |
primitiveArrayForI·p0.50: 72.576 us/op | |
primitiveArrayForI·p0.90: 76.416 us/op | |
primitiveArrayForI·p0.95: 77.312 us/op | |
primitiveArrayForI·p0.99: 80.640 us/op | |
primitiveArrayForI·p0.999: 86.500 us/op | |
primitiveArrayForI·p0.9999: 101.195 us/op | |
primitiveArrayForI·p1.00: 220.416 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 0.972 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 74.022 ±(99.9%) 0.029 us/op | |
primitiveArrayForI·p0.00: 71.424 us/op | |
primitiveArrayForI·p0.50: 73.472 us/op | |
primitiveArrayForI·p0.90: 77.312 us/op | |
primitiveArrayForI·p0.95: 78.336 us/op | |
primitiveArrayForI·p0.99: 81.920 us/op | |
primitiveArrayForI·p0.999: 89.600 us/op | |
primitiveArrayForI·p0.9999: 100.163 us/op | |
primitiveArrayForI·p1.00: 221.440 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 0.995 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 96.00% complete, ETA 00:02:41 | |
# Fork: 2 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 72.770 ±(99.9%) 0.169 us/op | |
# Warmup Iteration 2: 72.997 ±(99.9%) 0.030 us/op | |
# Warmup Iteration 3: 72.634 ±(99.9%) 0.028 us/op | |
# Warmup Iteration 4: 72.907 ±(99.9%) 0.032 us/op | |
# Warmup Iteration 5: 72.886 ±(99.9%) 0.033 us/op | |
Iteration 1: 73.158 ±(99.9%) 0.023 us/op | |
primitiveArrayForI·p0.00: 71.296 us/op | |
primitiveArrayForI·p0.50: 72.832 us/op | |
primitiveArrayForI·p0.90: 73.984 us/op | |
primitiveArrayForI·p0.95: 77.056 us/op | |
primitiveArrayForI·p0.99: 79.616 us/op | |
primitiveArrayForI·p0.999: 87.007 us/op | |
primitiveArrayForI·p0.9999: 98.582 us/op | |
primitiveArrayForI·p1.00: 219.392 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 0.972 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 73.516 ±(99.9%) 0.022 us/op | |
primitiveArrayForI·p0.00: 71.296 us/op | |
primitiveArrayForI·p0.50: 73.088 us/op | |
primitiveArrayForI·p0.90: 75.392 us/op | |
primitiveArrayForI·p0.95: 77.440 us/op | |
primitiveArrayForI·p0.99: 79.872 us/op | |
primitiveArrayForI·p0.999: 84.736 us/op | |
primitiveArrayForI·p0.9999: 97.748 us/op | |
primitiveArrayForI·p1.00: 218.880 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 0.968 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 72.866 ±(99.9%) 0.023 us/op | |
primitiveArrayForI·p0.00: 70.912 us/op | |
primitiveArrayForI·p0.50: 72.192 us/op | |
primitiveArrayForI·p0.90: 73.984 us/op | |
primitiveArrayForI·p0.95: 76.800 us/op | |
primitiveArrayForI·p0.99: 78.976 us/op | |
primitiveArrayForI·p0.999: 85.504 us/op | |
primitiveArrayForI·p0.9999: 98.176 us/op | |
primitiveArrayForI·p1.00: 220.416 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 0.962 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 97.00% complete, ETA 00:02:01 | |
# Fork: 3 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 72.644 ±(99.9%) 0.160 us/op | |
# Warmup Iteration 2: 72.708 ±(99.9%) 0.028 us/op | |
# Warmup Iteration 3: 72.537 ±(99.9%) 0.027 us/op | |
# Warmup Iteration 4: 72.405 ±(99.9%) 0.021 us/op | |
# Warmup Iteration 5: 72.427 ±(99.9%) 0.020 us/op | |
Iteration 1: 73.180 ±(99.9%) 0.026 us/op | |
primitiveArrayForI·p0.00: 70.784 us/op | |
primitiveArrayForI·p0.50: 72.832 us/op | |
primitiveArrayForI·p0.90: 73.984 us/op | |
primitiveArrayForI·p0.95: 77.056 us/op | |
primitiveArrayForI·p0.99: 79.360 us/op | |
primitiveArrayForI·p0.999: 89.442 us/op | |
primitiveArrayForI·p0.9999: 140.333 us/op | |
primitiveArrayForI·p1.00: 224.000 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 0.984 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 73.260 ±(99.9%) 0.029 us/op | |
primitiveArrayForI·p0.00: 71.296 us/op | |
primitiveArrayForI·p0.50: 72.448 us/op | |
primitiveArrayForI·p0.90: 76.416 us/op | |
primitiveArrayForI·p0.95: 77.312 us/op | |
primitiveArrayForI·p0.99: 80.896 us/op | |
primitiveArrayForI·p0.999: 90.880 us/op | |
primitiveArrayForI·p0.9999: 98.398 us/op | |
primitiveArrayForI·p1.00: 228.608 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 0.986 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 73.085 ±(99.9%) 0.028 us/op | |
primitiveArrayForI·p0.00: 71.040 us/op | |
primitiveArrayForI·p0.50: 72.448 us/op | |
primitiveArrayForI·p0.90: 76.160 us/op | |
primitiveArrayForI·p0.95: 76.928 us/op | |
primitiveArrayForI·p0.99: 80.512 us/op | |
primitiveArrayForI·p0.999: 89.943 us/op | |
primitiveArrayForI·p0.9999: 127.616 us/op | |
primitiveArrayForI·p1.00: 250.880 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 0.984 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 98.00% complete, ETA 00:01:20 | |
# Fork: 4 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 75.268 ±(99.9%) 0.169 us/op | |
# Warmup Iteration 2: 74.913 ±(99.9%) 0.028 us/op | |
# Warmup Iteration 3: 75.104 ±(99.9%) 0.015 us/op | |
# Warmup Iteration 4: 75.103 ±(99.9%) 0.017 us/op | |
# Warmup Iteration 5: 75.109 ±(99.9%) 0.025 us/op | |
Iteration 1: 75.499 ±(99.9%) 0.020 us/op | |
primitiveArrayForI·p0.00: 73.984 us/op | |
primitiveArrayForI·p0.50: 75.136 us/op | |
primitiveArrayForI·p0.90: 76.416 us/op | |
primitiveArrayForI·p0.95: 79.104 us/op | |
primitiveArrayForI·p0.99: 81.024 us/op | |
primitiveArrayForI·p0.999: 89.216 us/op | |
primitiveArrayForI·p0.9999: 98.481 us/op | |
primitiveArrayForI·p1.00: 173.824 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 0.993 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 75.590 ±(99.9%) 0.021 us/op | |
primitiveArrayForI·p0.00: 73.984 us/op | |
primitiveArrayForI·p0.50: 75.136 us/op | |
primitiveArrayForI·p0.90: 76.928 us/op | |
primitiveArrayForI·p0.95: 79.232 us/op | |
primitiveArrayForI·p0.99: 81.920 us/op | |
primitiveArrayForI·p0.999: 90.240 us/op | |
primitiveArrayForI·p0.9999: 110.949 us/op | |
primitiveArrayForI·p1.00: 121.472 us/op | |
·gc.alloc.rate: 0.007 MB/sec | |
·gc.alloc.rate.norm: 0.567 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 75.552 ±(99.9%) 0.020 us/op | |
primitiveArrayForI·p0.00: 73.984 us/op | |
primitiveArrayForI·p0.50: 75.136 us/op | |
primitiveArrayForI·p0.90: 76.672 us/op | |
primitiveArrayForI·p0.95: 79.104 us/op | |
primitiveArrayForI·p0.99: 81.152 us/op | |
primitiveArrayForI·p0.999: 88.948 us/op | |
primitiveArrayForI·p0.9999: 100.580 us/op | |
primitiveArrayForI·p1.00: 105.472 us/op | |
·gc.alloc.rate: 0.007 MB/sec | |
·gc.alloc.rate.norm: 0.559 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
# Run progress: 99.00% complete, ETA 00:00:40 | |
# Fork: 5 of 5 | |
# Preparing profilers: LinuxPerfProfiler | |
# Profilers consume stderr from target VM, use -v EXTRA to copy to console | |
# Warmup Iteration 1: 72.456 ±(99.9%) 0.203 us/op | |
# Warmup Iteration 2: 72.225 ±(99.9%) 0.018 us/op | |
# Warmup Iteration 3: 72.427 ±(99.9%) 0.017 us/op | |
# Warmup Iteration 4: 72.401 ±(99.9%) 0.017 us/op | |
# Warmup Iteration 5: 72.431 ±(99.9%) 0.018 us/op | |
Iteration 1: 72.619 ±(99.9%) 0.019 us/op | |
primitiveArrayForI·p0.00: 70.912 us/op | |
primitiveArrayForI·p0.50: 72.192 us/op | |
primitiveArrayForI·p0.90: 73.344 us/op | |
primitiveArrayForI·p0.95: 76.416 us/op | |
primitiveArrayForI·p0.99: 78.336 us/op | |
primitiveArrayForI·p0.999: 84.254 us/op | |
primitiveArrayForI·p0.9999: 97.965 us/op | |
primitiveArrayForI·p1.00: 169.216 us/op | |
·gc.alloc.rate: 0.013 MB/sec | |
·gc.alloc.rate.norm: 0.955 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 2: 72.657 ±(99.9%) 0.020 us/op | |
primitiveArrayForI·p0.00: 71.296 us/op | |
primitiveArrayForI·p0.50: 72.192 us/op | |
primitiveArrayForI·p0.90: 72.960 us/op | |
primitiveArrayForI·p0.95: 76.544 us/op | |
primitiveArrayForI·p0.99: 78.464 us/op | |
primitiveArrayForI·p0.999: 85.760 us/op | |
primitiveArrayForI·p0.9999: 99.489 us/op | |
primitiveArrayForI·p1.00: 103.296 us/op | |
·gc.alloc.rate: 0.007 MB/sec | |
·gc.alloc.rate.norm: 0.531 B/op | |
·gc.count: ≈ 0 counts | |
Iteration 3: 72.585 ±(99.9%) 0.019 us/op | |
primitiveArrayForI·p0.00: 71.168 us/op | |
primitiveArrayForI·p0.50: 72.192 us/op | |
primitiveArrayForI·p0.90: 72.832 us/op | |
primitiveArrayForI·p0.95: 76.416 us/op | |
primitiveArrayForI·p0.99: 78.208 us/op | |
primitiveArrayForI·p0.999: 85.018 us/op | |
primitiveArrayForI·p0.9999: 96.318 us/op | |
primitiveArrayForI·p1.00: 116.992 us/op | |
·gc.alloc.rate: 0.007 MB/sec | |
·gc.alloc.rate.norm: 0.528 B/op | |
·gc.count: ≈ 0 counts | |
# Processing profiler results: LinuxPerfProfiler | |
Result "uk.co.palmr.benchmarks.ForLoopBenchmark.primitiveArrayForI": | |
N = 1017792 | |
mean = 73.593 ±(99.9%) 0.007 us/op | |
Histogram, us/op: | |
[ 0.000, 25.000) = 0 | |
[ 25.000, 50.000) = 0 | |
[ 50.000, 75.000) = 775965 | |
[ 75.000, 100.000) = 241713 | |
[100.000, 125.000) = 76 | |
[125.000, 150.000) = 17 | |
[150.000, 175.000) = 9 | |
[175.000, 200.000) = 0 | |
[200.000, 225.000) = 9 | |
[225.000, 250.000) = 2 | |
[250.000, 275.000) = 1 | |
Percentiles, us/op: | |
p(0.0000) = 70.784 us/op | |
p(50.0000) = 72.832 us/op | |
p(90.0000) = 75.904 us/op | |
p(95.0000) = 77.440 us/op | |
p(99.0000) = 80.640 us/op | |
p(99.9000) = 88.192 us/op | |
p(99.9900) = 101.248 us/op | |
p(99.9990) = 218.607 us/op | |
p(99.9999) = 250.484 us/op | |
p(100.0000) = 250.880 us/op | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.primitiveArrayForI:·gc.alloc.rate": | |
0.011 ±(99.9%) 0.003 MB/sec [Average] | |
(min, avg, max) = (0.007, 0.011, 0.013), stdev = 0.003 | |
CI (99.9%): [0.008, 0.014] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.primitiveArrayForI:·gc.alloc.rate.norm": | |
0.862 ±(99.9%) 0.211 B/op [Average] | |
(min, avg, max) = (0.528, 0.862, 0.995), stdev = 0.197 | |
CI (99.9%): [0.651, 1.073] (assumes normal distribution) | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.primitiveArrayForI:·gc.count": | |
≈ 0 counts | |
Secondary result "uk.co.palmr.benchmarks.ForLoopBenchmark.primitiveArrayForI:·perf": | |
Perf stats: | |
-------------------------------------------------- | |
14,386.72 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
84 page-faults:u # 5.839 /sec | |
78,531,095,445 cycles:u # 5.459 GHz (35.75%) | |
663,187,054 stalled-cycles-frontend:u # 0.84% frontend cycles idle (35.85%) | |
267,631,776,370 instructions:u # 3.41 insn per cycle | |
# 0.00 stalled cycles per insn (35.87%) | |
24,324,598,958 branches:u # 1.691 G/sec (35.89%) | |
25,919,331 branch-misses:u # 0.11% of all branches (35.90%) | |
195,075,207,202 L1-dcache-loads:u # 13.559 G/sec (35.76%) | |
12,216,237,841 L1-dcache-load-misses:u # 6.26% of all L1-dcache accesses (35.74%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
95,603,997 L1-icache-loads:u # 6.645 M/sec (35.76%) | |
16,457 L1-icache-load-misses:u # 0.02% of all L1-icache accesses (35.76%) | |
94,395 dTLB-loads:u # 6.561 K/sec (35.74%) | |
8,105 dTLB-load-misses:u # 8.59% of all dTLB cache accesses (35.72%) | |
902 iTLB-loads:u # 62.697 /sec (35.70%) | |
989 iTLB-load-misses:u # 109.65% of all iTLB cache accesses (35.68%) | |
11,247,273,884 L1-dcache-prefetches:u # 781.782 M/sec (35.64%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.370520690 seconds time elapsed | |
40.882856000 seconds user | |
0.265292000 seconds sys | |
14,394.25 msec task-clock:u # 1.000 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
221 page-faults:u # 15.353 /sec | |
78,979,803,899 cycles:u # 5.487 GHz (35.74%) | |
682,733,702 stalled-cycles-frontend:u # 0.86% frontend cycles idle (35.80%) | |
268,929,837,053 instructions:u # 3.41 insn per cycle | |
# 0.00 stalled cycles per insn (35.87%) | |
24,450,883,932 branches:u # 1.699 G/sec (35.89%) | |
26,376,959 branch-misses:u # 0.11% of all branches (35.90%) | |
196,001,516,374 L1-dcache-loads:u # 13.617 G/sec (35.78%) | |
12,284,783,737 L1-dcache-load-misses:u # 6.27% of all L1-dcache accesses (35.75%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
95,251,633 L1-icache-loads:u # 6.617 M/sec (35.75%) | |
30,607 L1-icache-load-misses:u # 0.03% of all L1-icache accesses (35.76%) | |
35,868 dTLB-loads:u # 2.492 K/sec (35.76%) | |
6,195 dTLB-load-misses:u # 17.27% of all dTLB cache accesses (35.75%) | |
1,179 iTLB-loads:u # 81.908 /sec (35.70%) | |
1,333 iTLB-load-misses:u # 113.06% of all iTLB cache accesses (35.68%) | |
11,323,594,519 L1-dcache-prefetches:u # 786.675 M/sec (35.66%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.387073792 seconds time elapsed | |
41.093877000 seconds user | |
0.102858000 seconds sys | |
14,389.95 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
215 page-faults:u # 14.941 /sec | |
78,541,739,632 cycles:u # 5.458 GHz (35.78%) | |
581,349,735 stalled-cycles-frontend:u # 0.74% frontend cycles idle (35.82%) | |
268,748,429,488 instructions:u # 3.42 insn per cycle | |
# 0.00 stalled cycles per insn (35.89%) | |
24,440,256,403 branches:u # 1.698 G/sec (35.92%) | |
27,327,460 branch-misses:u # 0.11% of all branches (35.92%) | |
195,690,120,411 L1-dcache-loads:u # 13.599 G/sec (35.84%) | |
12,258,978,652 L1-dcache-load-misses:u # 6.26% of all L1-dcache accesses (35.80%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
97,536,029 L1-icache-loads:u # 6.778 M/sec (35.75%) | |
25,025 L1-icache-load-misses:u # 0.03% of all L1-icache accesses (35.71%) | |
67,792 dTLB-loads:u # 4.711 K/sec (35.73%) | |
13,581 dTLB-load-misses:u # 20.03% of all dTLB cache accesses (35.69%) | |
1,337 iTLB-loads:u # 92.912 /sec (35.67%) | |
544 iTLB-load-misses:u # 40.69% of all iTLB cache accesses (35.64%) | |
11,275,830,929 L1-dcache-prefetches:u # 783.591 M/sec (35.72%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.378003234 seconds time elapsed | |
40.987079000 seconds user | |
0.192084000 seconds sys | |
14,384.54 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
128 page-faults:u # 8.898 /sec | |
75,888,260,153 cycles:u # 5.276 GHz (35.79%) | |
511,615,318 stalled-cycles-frontend:u # 0.67% frontend cycles idle (35.83%) | |
260,409,138,355 instructions:u # 3.43 insn per cycle | |
# 0.00 stalled cycles per insn (35.87%) | |
23,672,774,696 branches:u # 1.646 G/sec (35.88%) | |
25,363,273 branch-misses:u # 0.11% of all branches (35.94%) | |
189,858,373,395 L1-dcache-loads:u # 13.199 G/sec (35.81%) | |
11,889,681,909 L1-dcache-load-misses:u # 6.26% of all L1-dcache accesses (35.79%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
91,650,634 L1-icache-loads:u # 6.371 M/sec (35.79%) | |
12,031 L1-icache-load-misses:u # 0.01% of all L1-icache accesses (35.75%) | |
35,567 dTLB-loads:u # 2.473 K/sec (35.71%) | |
9,311 dTLB-load-misses:u # 26.18% of all dTLB cache accesses (35.67%) | |
1,304 iTLB-loads:u # 90.653 /sec (35.64%) | |
592 iTLB-load-misses:u # 45.40% of all iTLB cache accesses (35.63%) | |
10,914,767,875 L1-dcache-prefetches:u # 758.785 M/sec (35.70%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.368686780 seconds time elapsed | |
40.959110000 seconds user | |
0.239733000 seconds sys | |
14,377.02 msec task-clock:u # 1.001 CPUs utilized | |
0 context-switches:u # 0.000 /sec | |
0 cpu-migrations:u # 0.000 /sec | |
288 page-faults:u # 20.032 /sec | |
78,891,446,032 cycles:u # 5.487 GHz (35.79%) | |
507,815,796 stalled-cycles-frontend:u # 0.64% frontend cycles idle (35.85%) | |
270,745,250,386 instructions:u # 3.43 insn per cycle | |
# 0.00 stalled cycles per insn (35.86%) | |
24,614,860,905 branches:u # 1.712 G/sec (35.87%) | |
26,902,904 branch-misses:u # 0.11% of all branches (35.89%) | |
197,209,879,138 L1-dcache-loads:u # 13.717 G/sec (35.79%) | |
12,360,766,607 L1-dcache-load-misses:u # 6.27% of all L1-dcache accesses (35.74%) | |
<not supported> LLC-loads:u | |
<not supported> LLC-load-misses:u | |
94,039,870 L1-icache-loads:u # 6.541 M/sec (35.71%) | |
13,982 L1-icache-load-misses:u # 0.01% of all L1-icache accesses (35.74%) | |
47,286 dTLB-loads:u # 3.289 K/sec (35.72%) | |
12,682 dTLB-load-misses:u # 26.82% of all dTLB cache accesses (35.70%) | |
504 iTLB-loads:u # 35.056 /sec (35.70%) | |
14 iTLB-load-misses:u # 2.78% of all iTLB cache accesses (35.69%) | |
11,365,412,938 L1-dcache-prefetches:u # 790.526 M/sec (35.72%) | |
<not supported> L1-dcache-prefetch-misses:u | |
14.359767413 seconds time elapsed | |
41.070417000 seconds user | |
0.120971000 seconds sys | |
# Run complete. Total time: 01:07:20 | |
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 | |
ForLoopBenchmark.agronaIntSetEnhancedFor sample 9615 7800.940 ± 5.120 us/op | |
ForLoopBenchmark.agronaIntSetEnhancedFor:agronaIntSetEnhancedFor·p0.00 sample 7380.992 us/op | |
ForLoopBenchmark.agronaIntSetEnhancedFor:agronaIntSetEnhancedFor·p0.50 sample 7806.976 us/op | |
ForLoopBenchmark.agronaIntSetEnhancedFor:agronaIntSetEnhancedFor·p0.90 sample 7897.088 us/op | |
ForLoopBenchmark.agronaIntSetEnhancedFor:agronaIntSetEnhancedFor·p0.95 sample 7929.856 us/op | |
ForLoopBenchmark.agronaIntSetEnhancedFor:agronaIntSetEnhancedFor·p0.99 sample 8467.907 us/op | |
ForLoopBenchmark.agronaIntSetEnhancedFor:agronaIntSetEnhancedFor·p0.999 sample 9148.563 us/op | |
ForLoopBenchmark.agronaIntSetEnhancedFor:agronaIntSetEnhancedFor·p0.9999 sample 10567.680 us/op | |
ForLoopBenchmark.agronaIntSetEnhancedFor:agronaIntSetEnhancedFor·p1.00 sample 10567.680 us/op | |
ForLoopBenchmark.agronaIntSetEnhancedFor:·cpi sample 0.570 clks/insn | |
ForLoopBenchmark.agronaIntSetEnhancedFor:·gc.alloc.rate sample 15 1954.582 ± 24.867 MB/sec | |
ForLoopBenchmark.agronaIntSetEnhancedFor:·gc.alloc.rate.norm sample 15 15998045.837 ± 1.487 B/op | |
ForLoopBenchmark.agronaIntSetEnhancedFor:·gc.count sample 15 85.000 counts | |
ForLoopBenchmark.agronaIntSetEnhancedFor:·gc.time sample 15 66.000 ms | |
ForLoopBenchmark.agronaIntSetEnhancedFor:·ipc sample 1.754 insns/clk | |
ForLoopBenchmark.agronaIntSetEnhancedFor:·perf sample NaN --- | |
ForLoopBenchmark.agronaIntSetIntIteratorFor sample 13601 5513.827 ± 3.369 us/op | |
ForLoopBenchmark.agronaIntSetIntIteratorFor:agronaIntSetIntIteratorFor·p0.00 sample 4997.120 us/op | |
ForLoopBenchmark.agronaIntSetIntIteratorFor:agronaIntSetIntIteratorFor·p0.50 sample 5578.752 us/op | |
ForLoopBenchmark.agronaIntSetIntIteratorFor:agronaIntSetIntIteratorFor·p0.90 sample 5627.904 us/op | |
ForLoopBenchmark.agronaIntSetIntIteratorFor:agronaIntSetIntIteratorFor·p0.95 sample 5644.288 us/op | |
ForLoopBenchmark.agronaIntSetIntIteratorFor:agronaIntSetIntIteratorFor·p0.99 sample 5677.056 us/op | |
ForLoopBenchmark.agronaIntSetIntIteratorFor:agronaIntSetIntIteratorFor·p0.999 sample 5778.620 us/op | |
ForLoopBenchmark.agronaIntSetIntIteratorFor:agronaIntSetIntIteratorFor·p0.9999 sample 6088.906 us/op | |
ForLoopBenchmark.agronaIntSetIntIteratorFor:agronaIntSetIntIteratorFor·p1.00 sample 6168.576 us/op | |
ForLoopBenchmark.agronaIntSetIntIteratorFor:·cpi sample 0.696 clks/insn | |
ForLoopBenchmark.agronaIntSetIntIteratorFor:·gc.alloc.rate sample 15 0.006 ± 0.001 MB/sec | |
ForLoopBenchmark.agronaIntSetIntIteratorFor:·gc.alloc.rate.norm sample 15 33.956 ± 0.732 B/op | |
ForLoopBenchmark.agronaIntSetIntIteratorFor:·gc.count sample 15 ≈ 0 counts | |
ForLoopBenchmark.agronaIntSetIntIteratorFor:·ipc sample 1.437 insns/clk | |
ForLoopBenchmark.agronaIntSetIntIteratorFor:·perf sample NaN --- | |
ForLoopBenchmark.agronaIntSetIntIteratorWhile sample 13724 5463.539 ± 3.507 us/op | |
ForLoopBenchmark.agronaIntSetIntIteratorWhile:agronaIntSetIntIteratorWhile·p0.00 sample 5029.888 us/op | |
ForLoopBenchmark.agronaIntSetIntIteratorWhile:agronaIntSetIntIteratorWhile·p0.50 sample 5447.680 us/op | |
ForLoopBenchmark.agronaIntSetIntIteratorWhile:agronaIntSetIntIteratorWhile·p0.90 sample 5619.712 us/op | |
ForLoopBenchmark.agronaIntSetIntIteratorWhile:agronaIntSetIntIteratorWhile·p0.95 sample 5636.096 us/op | |
ForLoopBenchmark.agronaIntSetIntIteratorWhile:agronaIntSetIntIteratorWhile·p0.99 sample 5677.056 us/op | |
ForLoopBenchmark.agronaIntSetIntIteratorWhile:agronaIntSetIntIteratorWhile·p0.999 sample 5852.160 us/op | |
ForLoopBenchmark.agronaIntSetIntIteratorWhile:agronaIntSetIntIteratorWhile·p0.9999 sample 6074.614 us/op | |
ForLoopBenchmark.agronaIntSetIntIteratorWhile:agronaIntSetIntIteratorWhile·p1.00 sample 6111.232 us/op | |
ForLoopBenchmark.agronaIntSetIntIteratorWhile:·cpi sample 0.695 clks/insn | |
ForLoopBenchmark.agronaIntSetIntIteratorWhile:·gc.alloc.rate sample 15 0.006 ± 0.001 MB/sec | |
ForLoopBenchmark.agronaIntSetIntIteratorWhile:·gc.alloc.rate.norm sample 15 33.987 ± 0.731 B/op | |
ForLoopBenchmark.agronaIntSetIntIteratorWhile:·gc.count sample 15 ≈ 0 counts | |
ForLoopBenchmark.agronaIntSetIntIteratorWhile:·ipc sample 1.438 insns/clk | |
ForLoopBenchmark.agronaIntSetIntIteratorWhile:·perf sample NaN --- | |
ForLoopBenchmark.agronaIntSetIteratorFor sample 9689 7741.096 ± 5.226 us/op | |
ForLoopBenchmark.agronaIntSetIteratorFor:agronaIntSetIteratorFor·p0.00 sample 7380.992 us/op | |
ForLoopBenchmark.agronaIntSetIteratorFor:agronaIntSetIteratorFor·p0.50 sample 7782.400 us/op | |
ForLoopBenchmark.agronaIntSetIteratorFor:agronaIntSetIteratorFor·p0.90 sample 7864.320 us/op | |
ForLoopBenchmark.agronaIntSetIteratorFor:agronaIntSetIteratorFor·p0.95 sample 7880.704 us/op | |
ForLoopBenchmark.agronaIntSetIteratorFor:agronaIntSetIteratorFor·p0.99 sample 8107.622 us/op | |
ForLoopBenchmark.agronaIntSetIteratorFor:agronaIntSetIteratorFor·p0.999 sample 8786.903 us/op | |
ForLoopBenchmark.agronaIntSetIteratorFor:agronaIntSetIteratorFor·p0.9999 sample 8962.048 us/op | |
ForLoopBenchmark.agronaIntSetIteratorFor:agronaIntSetIteratorFor·p1.00 sample 8962.048 us/op | |
ForLoopBenchmark.agronaIntSetIteratorFor:·cpi sample 0.573 clks/insn | |
ForLoopBenchmark.agronaIntSetIteratorFor:·gc.alloc.rate sample 15 1969.705 ± 34.399 MB/sec | |
ForLoopBenchmark.agronaIntSetIteratorFor:·gc.alloc.rate.norm sample 15 15998044.615 ± 1.901 B/op | |
ForLoopBenchmark.agronaIntSetIteratorFor:·gc.count sample 15 88.000 counts | |
ForLoopBenchmark.agronaIntSetIteratorFor:·gc.time sample 15 69.000 ms | |
ForLoopBenchmark.agronaIntSetIteratorFor:·ipc sample 1.744 insns/clk | |
ForLoopBenchmark.agronaIntSetIteratorFor:·perf sample NaN --- | |
ForLoopBenchmark.agronaIntSetIteratorWhile sample 9660 7765.178 ± 6.613 us/op | |
ForLoopBenchmark.agronaIntSetIteratorWhile:agronaIntSetIteratorWhile·p0.00 sample 7356.416 us/op | |
ForLoopBenchmark.agronaIntSetIteratorWhile:agronaIntSetIteratorWhile·p0.50 sample 7782.400 us/op | |
ForLoopBenchmark.agronaIntSetIteratorWhile:agronaIntSetIteratorWhile·p0.90 sample 7987.200 us/op | |
ForLoopBenchmark.agronaIntSetIteratorWhile:agronaIntSetIteratorWhile·p0.95 sample 8036.352 us/op | |
ForLoopBenchmark.agronaIntSetIteratorWhile:agronaIntSetIteratorWhile·p0.99 sample 8244.347 us/op | |
ForLoopBenchmark.agronaIntSetIteratorWhile:agronaIntSetIteratorWhile·p0.999 sample 8798.208 us/op | |
ForLoopBenchmark.agronaIntSetIteratorWhile:agronaIntSetIteratorWhile·p0.9999 sample 8929.280 us/op | |
ForLoopBenchmark.agronaIntSetIteratorWhile:agronaIntSetIteratorWhile·p1.00 sample 8929.280 us/op | |
ForLoopBenchmark.agronaIntSetIteratorWhile:·cpi sample 0.576 clks/insn | |
ForLoopBenchmark.agronaIntSetIteratorWhile:·gc.alloc.rate sample 15 1963.586 ± 48.253 MB/sec | |
ForLoopBenchmark.agronaIntSetIteratorWhile:·gc.alloc.rate.norm sample 15 15998044.901 ± 2.268 B/op | |
ForLoopBenchmark.agronaIntSetIteratorWhile:·gc.count sample 15 88.000 counts | |
ForLoopBenchmark.agronaIntSetIteratorWhile:·gc.time sample 15 69.000 ms | |
ForLoopBenchmark.agronaIntSetIteratorWhile:·ipc sample 1.736 insns/clk | |
ForLoopBenchmark.agronaIntSetIteratorWhile:·perf sample NaN --- | |
ForLoopBenchmark.agronaIntSetPrimitiveEnhancedFor sample 13429 5583.478 ± 2.060 us/op | |
ForLoopBenchmark.agronaIntSetPrimitiveEnhancedFor:agronaIntSetPrimitiveEnhancedFor·p0.00 sample 5267.456 us/op | |
ForLoopBenchmark.agronaIntSetPrimitiveEnhancedFor:agronaIntSetPrimitiveEnhancedFor·p0.50 sample 5595.136 us/op | |
ForLoopBenchmark.agronaIntSetPrimitiveEnhancedFor:agronaIntSetPrimitiveEnhancedFor·p0.90 sample 5619.712 us/op | |
ForLoopBenchmark.agronaIntSetPrimitiveEnhancedFor:agronaIntSetPrimitiveEnhancedFor·p0.95 sample 5636.096 us/op | |
ForLoopBenchmark.agronaIntSetPrimitiveEnhancedFor:agronaIntSetPrimitiveEnhancedFor·p0.99 sample 5668.864 us/op | |
ForLoopBenchmark.agronaIntSetPrimitiveEnhancedFor:agronaIntSetPrimitiveEnhancedFor·p0.999 sample 5886.525 us/op | |
ForLoopBenchmark.agronaIntSetPrimitiveEnhancedFor:agronaIntSetPrimitiveEnhancedFor·p0.9999 sample 6096.945 us/op | |
ForLoopBenchmark.agronaIntSetPrimitiveEnhancedFor:agronaIntSetPrimitiveEnhancedFor·p1.00 sample 6119.424 us/op | |
ForLoopBenchmark.agronaIntSetPrimitiveEnhancedFor:·cpi sample 0.696 clks/insn | |
ForLoopBenchmark.agronaIntSetPrimitiveEnhancedFor:·gc.alloc.rate sample 15 0.006 ± 0.001 MB/sec | |
ForLoopBenchmark.agronaIntSetPrimitiveEnhancedFor:·gc.alloc.rate.norm sample 15 34.295 ± 0.095 B/op | |
ForLoopBenchmark.agronaIntSetPrimitiveEnhancedFor:·gc.count sample 15 ≈ 0 counts | |
ForLoopBenchmark.agronaIntSetPrimitiveEnhancedFor:·ipc sample 1.437 insns/clk | |
ForLoopBenchmark.agronaIntSetPrimitiveEnhancedFor:·perf sample NaN --- | |
ForLoopBenchmark.integerListEnhancedFor sample 167866 446.453 ± 0.483 us/op | |
ForLoopBenchmark.integerListEnhancedFor:integerListEnhancedFor·p0.00 sample 355.840 us/op | |
ForLoopBenchmark.integerListEnhancedFor:integerListEnhancedFor·p0.50 sample 439.808 us/op | |
ForLoopBenchmark.integerListEnhancedFor:integerListEnhancedFor·p0.90 sample 506.880 us/op | |
ForLoopBenchmark.integerListEnhancedFor:integerListEnhancedFor·p0.95 sample 540.672 us/op | |
ForLoopBenchmark.integerListEnhancedFor:integerListEnhancedFor·p0.99 sample 651.264 us/op | |
ForLoopBenchmark.integerListEnhancedFor:integerListEnhancedFor·p0.999 sample 771.208 us/op | |
ForLoopBenchmark.integerListEnhancedFor:integerListEnhancedFor·p0.9999 sample 951.364 us/op | |
ForLoopBenchmark.integerListEnhancedFor:integerListEnhancedFor·p1.00 sample 3862.528 us/op | |
ForLoopBenchmark.integerListEnhancedFor:·cpi sample 0.323 clks/insn | |
ForLoopBenchmark.integerListEnhancedFor:·gc.alloc.rate sample 15 0.015 ± 0.003 MB/sec | |
ForLoopBenchmark.integerListEnhancedFor:·gc.alloc.rate.norm sample 15 7.029 ± 1.772 B/op | |
ForLoopBenchmark.integerListEnhancedFor:·gc.count sample 15 ≈ 0 counts | |
ForLoopBenchmark.integerListEnhancedFor:·ipc sample 3.098 insns/clk | |
ForLoopBenchmark.integerListEnhancedFor:·perf sample NaN --- | |
ForLoopBenchmark.integerListForI sample 634495 118.102 ± 0.017 us/op | |
ForLoopBenchmark.integerListForI:integerListForI·p0.00 sample 109.568 us/op | |
ForLoopBenchmark.integerListForI:integerListForI·p0.50 sample 117.888 us/op | |
ForLoopBenchmark.integerListForI:integerListForI·p0.90 sample 121.088 us/op | |
ForLoopBenchmark.integerListForI:integerListForI·p0.95 sample 122.752 us/op | |
ForLoopBenchmark.integerListForI:integerListForI·p0.99 sample 126.080 us/op | |
ForLoopBenchmark.integerListForI:integerListForI·p0.999 sample 140.544 us/op | |
ForLoopBenchmark.integerListForI:integerListForI·p0.9999 sample 248.348 us/op | |
ForLoopBenchmark.integerListForI:integerListForI·p1.00 sample 730.112 us/op | |
ForLoopBenchmark.integerListForI:·cpi sample 0.253 clks/insn | |
ForLoopBenchmark.integerListForI:·gc.alloc.rate sample 15 0.020 ± 0.003 MB/sec | |
ForLoopBenchmark.integerListForI:·gc.alloc.rate.norm sample 15 2.528 ± 0.361 B/op | |
ForLoopBenchmark.integerListForI:·gc.count sample 15 ≈ 0 counts | |
ForLoopBenchmark.integerListForI:·ipc sample 3.956 insns/clk | |
ForLoopBenchmark.integerListForI:·perf sample NaN --- | |
ForLoopBenchmark.integerListIteratorFor sample 681529 109.958 ± 0.040 us/op | |
ForLoopBenchmark.integerListIteratorFor:integerListIteratorFor·p0.00 sample 94.848 us/op | |
ForLoopBenchmark.integerListIteratorFor:integerListIteratorFor·p0.50 sample 117.760 us/op | |
ForLoopBenchmark.integerListIteratorFor:integerListIteratorFor·p0.90 sample 118.656 us/op | |
ForLoopBenchmark.integerListIteratorFor:integerListIteratorFor·p0.95 sample 121.344 us/op | |
ForLoopBenchmark.integerListIteratorFor:integerListIteratorFor·p0.99 sample 123.648 us/op | |
ForLoopBenchmark.integerListIteratorFor:integerListIteratorFor·p0.999 sample 131.328 us/op | |
ForLoopBenchmark.integerListIteratorFor:integerListIteratorFor·p0.9999 sample 190.169 us/op | |
ForLoopBenchmark.integerListIteratorFor:integerListIteratorFor·p1.00 sample 688.128 us/op | |
ForLoopBenchmark.integerListIteratorFor:·cpi sample 0.216 clks/insn | |
ForLoopBenchmark.integerListIteratorFor:·gc.alloc.rate sample 15 0.018 ± 0.003 MB/sec | |
ForLoopBenchmark.integerListIteratorFor:·gc.alloc.rate.norm sample 15 2.092 ± 0.436 B/op | |
ForLoopBenchmark.integerListIteratorFor:·gc.count sample 15 ≈ 0 counts | |
ForLoopBenchmark.integerListIteratorFor:·ipc sample 4.636 insns/clk | |
ForLoopBenchmark.integerListIteratorFor:·perf sample NaN --- | |
ForLoopBenchmark.integerListIteratorWhile sample 704144 106.426 ± 0.038 us/op | |
ForLoopBenchmark.integerListIteratorWhile:integerListIteratorWhile·p0.00 sample 95.104 us/op | |
ForLoopBenchmark.integerListIteratorWhile:integerListIteratorWhile·p0.50 sample 100.992 us/op | |
ForLoopBenchmark.integerListIteratorWhile:integerListIteratorWhile·p0.90 sample 118.400 us/op | |
ForLoopBenchmark.integerListIteratorWhile:integerListIteratorWhile·p0.95 sample 119.552 us/op | |
ForLoopBenchmark.integerListIteratorWhile:integerListIteratorWhile·p0.99 sample 123.136 us/op | |
ForLoopBenchmark.integerListIteratorWhile:integerListIteratorWhile·p0.999 sample 129.024 us/op | |
ForLoopBenchmark.integerListIteratorWhile:integerListIteratorWhile·p0.9999 sample 180.205 us/op | |
ForLoopBenchmark.integerListIteratorWhile:integerListIteratorWhile·p1.00 sample 576.512 us/op | |
ForLoopBenchmark.integerListIteratorWhile:·cpi sample 0.201 clks/insn | |
ForLoopBenchmark.integerListIteratorWhile:·gc.alloc.rate sample 15 0.017 ± 0.004 MB/sec | |
ForLoopBenchmark.integerListIteratorWhile:·gc.alloc.rate.norm sample 15 1.921 ± 0.486 B/op | |
ForLoopBenchmark.integerListIteratorWhile:·gc.count sample 15 ≈ 0 counts | |
ForLoopBenchmark.integerListIteratorWhile:·ipc sample 4.976 insns/clk | |
ForLoopBenchmark.integerListIteratorWhile:·perf sample NaN --- | |
ForLoopBenchmark.mapEntrySetEnhancedFor sample 9096 8247.004 ± 9.687 us/op | |
ForLoopBenchmark.mapEntrySetEnhancedFor:mapEntrySetEnhancedFor·p0.00 sample 7626.752 us/op | |
ForLoopBenchmark.mapEntrySetEnhancedFor:mapEntrySetEnhancedFor·p0.50 sample 8224.768 us/op | |
ForLoopBenchmark.mapEntrySetEnhancedFor:mapEntrySetEnhancedFor·p0.90 sample 8617.984 us/op | |
ForLoopBenchmark.mapEntrySetEnhancedFor:mapEntrySetEnhancedFor·p0.95 sample 8732.672 us/op | |
ForLoopBenchmark.mapEntrySetEnhancedFor:mapEntrySetEnhancedFor·p0.99 sample 9027.584 us/op | |
ForLoopBenchmark.mapEntrySetEnhancedFor:mapEntrySetEnhancedFor·p0.999 sample 9611.051 us/op | |
ForLoopBenchmark.mapEntrySetEnhancedFor:mapEntrySetEnhancedFor·p0.9999 sample 13172.736 us/op | |
ForLoopBenchmark.mapEntrySetEnhancedFor:mapEntrySetEnhancedFor·p1.00 sample 13172.736 us/op | |
ForLoopBenchmark.mapEntrySetEnhancedFor:·cpi sample 1.111 clks/insn | |
ForLoopBenchmark.mapEntrySetEnhancedFor:·gc.alloc.rate sample 15 0.012 ± 0.001 MB/sec | |
ForLoopBenchmark.mapEntrySetEnhancedFor:·gc.alloc.rate.norm sample 15 100.211 ± 2.922 B/op | |
ForLoopBenchmark.mapEntrySetEnhancedFor:·gc.count sample 15 ≈ 0 counts | |
ForLoopBenchmark.mapEntrySetEnhancedFor:·ipc sample 0.900 insns/clk | |
ForLoopBenchmark.mapEntrySetEnhancedFor:·perf sample NaN --- | |
ForLoopBenchmark.mapEntrySetIteratorFor sample 8907 8422.022 ± 11.896 us/op | |
ForLoopBenchmark.mapEntrySetIteratorFor:mapEntrySetIteratorFor·p0.00 sample 7839.744 us/op | |
ForLoopBenchmark.mapEntrySetIteratorFor:mapEntrySetIteratorFor·p0.50 sample 8437.760 us/op | |
ForLoopBenchmark.mapEntrySetIteratorFor:mapEntrySetIteratorFor·p0.90 sample 8621.261 us/op | |
ForLoopBenchmark.mapEntrySetIteratorFor:mapEntrySetIteratorFor·p0.95 sample 8781.824 us/op | |
ForLoopBenchmark.mapEntrySetIteratorFor:mapEntrySetIteratorFor·p0.99 sample 9519.104 us/op | |
ForLoopBenchmark.mapEntrySetIteratorFor:mapEntrySetIteratorFor·p0.999 sample 12574.065 us/op | |
ForLoopBenchmark.mapEntrySetIteratorFor:mapEntrySetIteratorFor·p0.9999 sample 17727.488 us/op | |
ForLoopBenchmark.mapEntrySetIteratorFor:mapEntrySetIteratorFor·p1.00 sample 17727.488 us/op | |
ForLoopBenchmark.mapEntrySetIteratorFor:·cpi sample 1.118 clks/insn | |
ForLoopBenchmark.mapEntrySetIteratorFor:·gc.alloc.rate sample 15 0.012 ± 0.002 MB/sec | |
ForLoopBenchmark.mapEntrySetIteratorFor:·gc.alloc.rate.norm sample 15 102.252 ± 21.762 B/op | |
ForLoopBenchmark.mapEntrySetIteratorFor:·gc.count sample 15 ≈ 0 counts | |
ForLoopBenchmark.mapEntrySetIteratorFor:·ipc sample 0.894 insns/clk | |
ForLoopBenchmark.mapEntrySetIteratorFor:·perf sample NaN --- | |
ForLoopBenchmark.mapEntrySetIteratorWhile sample 8891 8435.771 ± 25.184 us/op | |
ForLoopBenchmark.mapEntrySetIteratorWhile:mapEntrySetIteratorWhile·p0.00 sample 7749.632 us/op | |
ForLoopBenchmark.mapEntrySetIteratorWhile:mapEntrySetIteratorWhile·p0.50 sample 8298.496 us/op | |
ForLoopBenchmark.mapEntrySetIteratorWhile:mapEntrySetIteratorWhile·p0.90 sample 8929.280 us/op | |
ForLoopBenchmark.mapEntrySetIteratorWhile:mapEntrySetIteratorWhile·p0.95 sample 9289.728 us/op | |
ForLoopBenchmark.mapEntrySetIteratorWhile:mapEntrySetIteratorWhile·p0.99 sample 11669.340 us/op | |
ForLoopBenchmark.mapEntrySetIteratorWhile:mapEntrySetIteratorWhile·p0.999 sample 16407.003 us/op | |
ForLoopBenchmark.mapEntrySetIteratorWhile:mapEntrySetIteratorWhile·p0.9999 sample 21594.112 us/op | |
ForLoopBenchmark.mapEntrySetIteratorWhile:mapEntrySetIteratorWhile·p1.00 sample 21594.112 us/op | |
ForLoopBenchmark.mapEntrySetIteratorWhile:·cpi sample 1.134 clks/insn | |
ForLoopBenchmark.mapEntrySetIteratorWhile:·gc.alloc.rate sample 15 0.013 ± 0.003 MB/sec | |
ForLoopBenchmark.mapEntrySetIteratorWhile:·gc.alloc.rate.norm sample 15 111.387 ± 30.392 B/op | |
ForLoopBenchmark.mapEntrySetIteratorWhile:·gc.count sample 15 ≈ 0 counts | |
ForLoopBenchmark.mapEntrySetIteratorWhile:·ipc sample 0.882 insns/clk | |
ForLoopBenchmark.mapEntrySetIteratorWhile:·perf sample NaN --- | |
ForLoopBenchmark.objectArrayEnhancedFor sample 638942 117.284 ± 0.025 us/op | |
ForLoopBenchmark.objectArrayEnhancedFor:objectArrayEnhancedFor·p0.00 sample 110.080 us/op | |
ForLoopBenchmark.objectArrayEnhancedFor:objectArrayEnhancedFor·p0.50 sample 116.736 us/op | |
ForLoopBenchmark.objectArrayEnhancedFor:objectArrayEnhancedFor·p0.90 sample 120.704 us/op | |
ForLoopBenchmark.objectArrayEnhancedFor:objectArrayEnhancedFor·p0.95 sample 122.880 us/op | |
ForLoopBenchmark.objectArrayEnhancedFor:objectArrayEnhancedFor·p0.99 sample 136.704 us/op | |
ForLoopBenchmark.objectArrayEnhancedFor:objectArrayEnhancedFor·p0.999 sample 188.672 us/op | |
ForLoopBenchmark.objectArrayEnhancedFor:objectArrayEnhancedFor·p0.9999 sample 234.550 us/op | |
ForLoopBenchmark.objectArrayEnhancedFor:objectArrayEnhancedFor·p1.00 sample 651.264 us/op | |
ForLoopBenchmark.objectArrayEnhancedFor:·cpi sample 0.267 clks/insn | |
ForLoopBenchmark.objectArrayEnhancedFor:·gc.alloc.rate sample 15 0.020 ± 0.003 MB/sec | |
ForLoopBenchmark.objectArrayEnhancedFor:·gc.alloc.rate.norm sample 15 2.482 ± 0.353 B/op | |
ForLoopBenchmark.objectArrayEnhancedFor:·gc.count sample 15 ≈ 0 counts | |
ForLoopBenchmark.objectArrayEnhancedFor:·ipc sample 3.744 insns/clk | |
ForLoopBenchmark.objectArrayEnhancedFor:·perf sample NaN --- | |
ForLoopBenchmark.objectArrayForI sample 638740 117.325 ± 0.025 us/op | |
ForLoopBenchmark.objectArrayForI:objectArrayForI·p0.00 sample 109.952 us/op | |
ForLoopBenchmark.objectArrayForI:objectArrayForI·p0.50 sample 116.736 us/op | |
ForLoopBenchmark.objectArrayForI:objectArrayForI·p0.90 sample 120.832 us/op | |
ForLoopBenchmark.objectArrayForI:objectArrayForI·p0.95 sample 123.264 us/op | |
ForLoopBenchmark.objectArrayForI:objectArrayForI·p0.99 sample 138.752 us/op | |
ForLoopBenchmark.objectArrayForI:objectArrayForI·p0.999 sample 190.208 us/op | |
ForLoopBenchmark.objectArrayForI:objectArrayForI·p0.9999 sample 230.241 us/op | |
ForLoopBenchmark.objectArrayForI:objectArrayForI·p1.00 sample 731.136 us/op | |
ForLoopBenchmark.objectArrayForI:·cpi sample 0.267 clks/insn | |
ForLoopBenchmark.objectArrayForI:·gc.alloc.rate sample 15 0.019 ± 0.004 MB/sec | |
ForLoopBenchmark.objectArrayForI:·gc.alloc.rate.norm sample 15 2.342 ± 0.444 B/op | |
ForLoopBenchmark.objectArrayForI:·gc.count sample 15 ≈ 0 counts | |
ForLoopBenchmark.objectArrayForI:·ipc sample 3.742 insns/clk | |
ForLoopBenchmark.objectArrayForI:·perf sample NaN --- | |
ForLoopBenchmark.plainIntSetEnhancedFor sample 11884 6310.717 ± 14.103 us/op | |
ForLoopBenchmark.plainIntSetEnhancedFor:plainIntSetEnhancedFor·p0.00 sample 5644.288 us/op | |
ForLoopBenchmark.plainIntSetEnhancedFor:plainIntSetEnhancedFor·p0.50 sample 6234.112 us/op | |
ForLoopBenchmark.plainIntSetEnhancedFor:plainIntSetEnhancedFor·p0.90 sample 6602.752 us/op | |
ForLoopBenchmark.plainIntSetEnhancedFor:plainIntSetEnhancedFor·p0.95 sample 6938.624 us/op | |
ForLoopBenchmark.plainIntSetEnhancedFor:plainIntSetEnhancedFor·p0.99 sample 8336.179 us/op | |
ForLoopBenchmark.plainIntSetEnhancedFor:plainIntSetEnhancedFor·p0.999 sample 10604.790 us/op | |
ForLoopBenchmark.plainIntSetEnhancedFor:plainIntSetEnhancedFor·p0.9999 sample 17314.267 us/op | |
ForLoopBenchmark.plainIntSetEnhancedFor:plainIntSetEnhancedFor·p1.00 sample 18382.848 us/op | |
ForLoopBenchmark.plainIntSetEnhancedFor:·cpi sample 0.304 clks/insn | |
ForLoopBenchmark.plainIntSetEnhancedFor:·gc.alloc.rate sample 15 0.016 ± 0.003 MB/sec | |
ForLoopBenchmark.plainIntSetEnhancedFor:·gc.alloc.rate.norm sample 15 104.136 ± 23.284 B/op | |
ForLoopBenchmark.plainIntSetEnhancedFor:·gc.count sample 15 ≈ 0 counts | |
ForLoopBenchmark.plainIntSetEnhancedFor:·ipc sample 3.291 insns/clk | |
ForLoopBenchmark.plainIntSetEnhancedFor:·perf sample NaN --- | |
ForLoopBenchmark.plainIntSetIteratorFor sample 12933 5798.292 ± 10.231 us/op | |
ForLoopBenchmark.plainIntSetIteratorFor:plainIntSetIteratorFor·p0.00 sample 4890.624 us/op | |
ForLoopBenchmark.plainIntSetIteratorFor:plainIntSetIteratorFor·p0.50 sample 5791.744 us/op | |
ForLoopBenchmark.plainIntSetIteratorFor:plainIntSetIteratorFor·p0.90 sample 5988.352 us/op | |
ForLoopBenchmark.plainIntSetIteratorFor:plainIntSetIteratorFor·p0.95 sample 6225.920 us/op | |
ForLoopBenchmark.plainIntSetIteratorFor:plainIntSetIteratorFor·p0.99 sample 7173.407 us/op | |
ForLoopBenchmark.plainIntSetIteratorFor:plainIntSetIteratorFor·p0.999 sample 9638.117 us/op | |
ForLoopBenchmark.plainIntSetIteratorFor:plainIntSetIteratorFor·p0.9999 sample 12531.316 us/op | |
ForLoopBenchmark.plainIntSetIteratorFor:plainIntSetIteratorFor·p1.00 sample 12713.984 us/op | |
ForLoopBenchmark.plainIntSetIteratorFor:·cpi sample 0.283 clks/insn | |
ForLoopBenchmark.plainIntSetIteratorFor:·gc.alloc.rate sample 15 0.014 ± 0.003 MB/sec | |
ForLoopBenchmark.plainIntSetIteratorFor:·gc.alloc.rate.norm sample 15 83.926 ± 20.344 B/op | |
ForLoopBenchmark.plainIntSetIteratorFor:·gc.count sample 15 ≈ 0 counts | |
ForLoopBenchmark.plainIntSetIteratorFor:·ipc sample 3.531 insns/clk | |
ForLoopBenchmark.plainIntSetIteratorFor:·perf sample NaN --- | |
ForLoopBenchmark.plainIntSetIteratorWhile sample 13292 5640.916 ± 8.046 us/op | |
ForLoopBenchmark.plainIntSetIteratorWhile:plainIntSetIteratorWhile·p0.00 sample 5251.072 us/op | |
ForLoopBenchmark.plainIntSetIteratorWhile:plainIntSetIteratorWhile·p0.50 sample 5570.560 us/op | |
ForLoopBenchmark.plainIntSetIteratorWhile:plainIntSetIteratorWhile·p0.90 sample 5971.968 us/op | |
ForLoopBenchmark.plainIntSetIteratorWhile:plainIntSetIteratorWhile·p0.95 sample 6070.272 us/op | |
ForLoopBenchmark.plainIntSetIteratorWhile:plainIntSetIteratorWhile·p0.99 sample 6356.992 us/op | |
ForLoopBenchmark.plainIntSetIteratorWhile:plainIntSetIteratorWhile·p0.999 sample 7068.287 us/op | |
ForLoopBenchmark.plainIntSetIteratorWhile:plainIntSetIteratorWhile·p0.9999 sample 15136.181 us/op | |
ForLoopBenchmark.plainIntSetIteratorWhile:plainIntSetIteratorWhile·p1.00 sample 17596.416 us/op | |
ForLoopBenchmark.plainIntSetIteratorWhile:·cpi sample 0.278 clks/insn | |
ForLoopBenchmark.plainIntSetIteratorWhile:·gc.alloc.rate sample 15 0.013 ± 0.003 MB/sec | |
ForLoopBenchmark.plainIntSetIteratorWhile:·gc.alloc.rate.norm sample 15 74.767 ± 17.684 B/op | |
ForLoopBenchmark.plainIntSetIteratorWhile:·gc.count sample 15 ≈ 0 counts | |
ForLoopBenchmark.plainIntSetIteratorWhile:·ipc sample 3.599 insns/clk | |
ForLoopBenchmark.plainIntSetIteratorWhile:·perf sample NaN --- | |
ForLoopBenchmark.primitiveArrayEnhancedFor sample 1002101 74.745 ± 0.009 us/op | |
ForLoopBenchmark.primitiveArrayEnhancedFor:primitiveArrayEnhancedFor·p0.00 sample 70.400 us/op | |
ForLoopBenchmark.primitiveArrayEnhancedFor:primitiveArrayEnhancedFor·p0.50 sample 74.880 us/op | |
ForLoopBenchmark.primitiveArrayEnhancedFor:primitiveArrayEnhancedFor·p0.90 sample 76.800 us/op | |
ForLoopBenchmark.primitiveArrayEnhancedFor:primitiveArrayEnhancedFor·p0.95 sample 79.104 us/op | |
ForLoopBenchmark.primitiveArrayEnhancedFor:primitiveArrayEnhancedFor·p0.99 sample 82.816 us/op | |
ForLoopBenchmark.primitiveArrayEnhancedFor:primitiveArrayEnhancedFor·p0.999 sample 93.824 us/op | |
ForLoopBenchmark.primitiveArrayEnhancedFor:primitiveArrayEnhancedFor·p0.9999 sample 152.320 us/op | |
ForLoopBenchmark.primitiveArrayEnhancedFor:primitiveArrayEnhancedFor·p1.00 sample 372.736 us/op | |
ForLoopBenchmark.primitiveArrayEnhancedFor:·cpi sample 0.293 clks/insn | |
ForLoopBenchmark.primitiveArrayEnhancedFor:·gc.alloc.rate sample 15 0.013 ± 0.002 MB/sec | |
ForLoopBenchmark.primitiveArrayEnhancedFor:·gc.alloc.rate.norm sample 15 1.046 ± 0.112 B/op | |
ForLoopBenchmark.primitiveArrayEnhancedFor:·gc.count sample 15 ≈ 0 counts | |
ForLoopBenchmark.primitiveArrayEnhancedFor:·ipc sample 3.412 insns/clk | |
ForLoopBenchmark.primitiveArrayEnhancedFor:·perf sample NaN --- | |
ForLoopBenchmark.primitiveArrayForI sample 1017792 73.593 ± 0.007 us/op | |
ForLoopBenchmark.primitiveArrayForI:primitiveArrayForI·p0.00 sample 70.784 us/op | |
ForLoopBenchmark.primitiveArrayForI:primitiveArrayForI·p0.50 sample 72.832 us/op | |
ForLoopBenchmark.primitiveArrayForI:primitiveArrayForI·p0.90 sample 75.904 us/op | |
ForLoopBenchmark.primitiveArrayForI:primitiveArrayForI·p0.95 sample 77.440 us/op | |
ForLoopBenchmark.primitiveArrayForI:primitiveArrayForI·p0.99 sample 80.640 us/op | |
ForLoopBenchmark.primitiveArrayForI:primitiveArrayForI·p0.999 sample 88.192 us/op | |
ForLoopBenchmark.primitiveArrayForI:primitiveArrayForI·p0.9999 sample 101.248 us/op | |
ForLoopBenchmark.primitiveArrayForI:primitiveArrayForI·p1.00 sample 250.880 us/op | |
ForLoopBenchmark.primitiveArrayForI:·cpi sample 0.292 clks/insn | |
ForLoopBenchmark.primitiveArrayForI:·gc.alloc.rate sample 15 0.011 ± 0.003 MB/sec | |
ForLoopBenchmark.primitiveArrayForI:·gc.alloc.rate.norm sample 15 0.862 ± 0.211 B/op | |
ForLoopBenchmark.primitiveArrayForI:·gc.count sample 15 ≈ 0 counts | |
ForLoopBenchmark.primitiveArrayForI:·ipc sample 3.420 insns/clk | |
ForLoopBenchmark.primitiveArrayForI:·perf sample NaN --- | |
Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. | |
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. | |
For more on this, please refer to https://docs.gradle.org/8.5/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. | |
BUILD SUCCESSFUL in 1h 7m 20s | |
3 actionable tasks: 2 executed, 1 up-to-date | |
22:37:51: Execution finished ':ForLoopBenchmark.main()'. | |
Benchmark Score Error Units | |
ForLoopBenchmark.agronaIntSetEnhancedFor 7800.940 ± 5.120 us/op | |
ForLoopBenchmark.agronaIntSetEnhancedFor:·gc.alloc.rate.norm 15998045.837 ± 1.487 B/op | |
ForLoopBenchmark.agronaIntSetIntIteratorFor 5513.827 ± 3.369 us/op | |
ForLoopBenchmark.agronaIntSetIntIteratorFor:·gc.alloc.rate.norm 33.956 ± 0.732 B/op | |
ForLoopBenchmark.agronaIntSetIntIteratorWhile 5463.539 ± 3.507 us/op | |
ForLoopBenchmark.agronaIntSetIntIteratorWhile:·gc.alloc.rate.norm 33.987 ± 0.731 B/op | |
ForLoopBenchmark.agronaIntSetIteratorFor 7741.096 ± 5.226 us/op | |
ForLoopBenchmark.agronaIntSetIteratorFor:·gc.alloc.rate.norm 15998044.615 ± 1.901 B/op | |
ForLoopBenchmark.agronaIntSetIteratorWhile 7765.178 ± 6.613 us/op | |
ForLoopBenchmark.agronaIntSetIteratorWhile:·gc.alloc.rate.norm 15998044.901 ± 2.268 B/op | |
ForLoopBenchmark.agronaIntSetPrimitiveEnhancedFor 5583.478 ± 2.060 us/op | |
ForLoopBenchmark.agronaIntSetPrimitiveEnhancedFor:·gc.alloc.rate.norm 34.295 ± 0.095 B/op | |
ForLoopBenchmark.integerListEnhancedFor 446.453 ± 0.483 us/op | |
ForLoopBenchmark.integerListEnhancedFor:·gc.alloc.rate.norm 7.029 ± 1.772 B/op | |
ForLoopBenchmark.integerListForI 118.102 ± 0.017 us/op | |
ForLoopBenchmark.integerListForI:·gc.alloc.rate.norm 2.528 ± 0.361 B/op | |
ForLoopBenchmark.integerListIteratorFor 109.958 ± 0.040 us/op | |
ForLoopBenchmark.integerListIteratorFor:·gc.alloc.rate.norm 2.092 ± 0.436 B/op | |
ForLoopBenchmark.integerListIteratorWhile 106.426 ± 0.038 us/op | |
ForLoopBenchmark.integerListIteratorWhile:·gc.alloc.rate.norm 1.921 ± 0.486 B/op | |
ForLoopBenchmark.mapEntrySetEnhancedFor 8247.004 ± 9.687 us/op | |
ForLoopBenchmark.mapEntrySetEnhancedFor:·gc.alloc.rate.norm 100.211 ± 2.922 B/op | |
ForLoopBenchmark.mapEntrySetIteratorFor 8422.022 ± 11.896 us/op | |
ForLoopBenchmark.mapEntrySetIteratorFor:·gc.alloc.rate.norm 102.252 ± 21.762 B/op | |
ForLoopBenchmark.mapEntrySetIteratorWhile 8435.771 ± 25.184 us/op | |
ForLoopBenchmark.mapEntrySetIteratorWhile:·gc.alloc.rate.norm 111.387 ± 30.392 B/op | |
ForLoopBenchmark.objectArrayEnhancedFor 117.284 ± 0.025 us/op | |
ForLoopBenchmark.objectArrayEnhancedFor:·gc.alloc.rate.norm 2.482 ± 0.353 B/op | |
ForLoopBenchmark.objectArrayForI 117.325 ± 0.025 us/op | |
ForLoopBenchmark.objectArrayForI:·gc.alloc.rate.norm 2.342 ± 0.444 B/op | |
ForLoopBenchmark.plainIntSetEnhancedFor 6310.717 ± 14.103 us/op | |
ForLoopBenchmark.plainIntSetEnhancedFor:·gc.alloc.rate.norm 104.136 ± 23.284 B/op | |
ForLoopBenchmark.plainIntSetIteratorFor 5798.292 ± 10.231 us/op | |
ForLoopBenchmark.plainIntSetIteratorFor:·gc.alloc.rate.norm 83.926 ± 20.344 B/op | |
ForLoopBenchmark.plainIntSetIteratorWhile 5640.916 ± 8.046 us/op | |
ForLoopBenchmark.plainIntSetIteratorWhile:·gc.alloc.rate.norm 74.767 ± 17.684 B/op | |
ForLoopBenchmark.primitiveArrayEnhancedFor 74.745 ± 0.009 us/op | |
ForLoopBenchmark.primitiveArrayEnhancedFor:·gc.alloc.rate.norm 1.046 ± 0.112 B/op | |
ForLoopBenchmark.primitiveArrayForI 73.593 ± 0.007 us/op | |
ForLoopBenchmark.primitiveArrayForI:·gc.alloc.rate.norm 0.862 ± 0.211 B/op | |
Data Type Test Name Speed (us/op) Speed Error Allocation (B/op) Allocation Error | |
Agrona agronaIntSetEnhancedFor 7800.94 5.12 15998045.84 1.487 | |
Agrona agronaIntSetIntIteratorFor 5513.827 3.369 33.956 0.732 | |
Agrona agronaIntSetIntIteratorWhile 5463.539 3.507 33.987 0.731 | |
Agrona agronaIntSetIteratorFor 7741.096 5.226 15998044.62 1.901 | |
Agrona agronaIntSetIteratorWhile 7765.178 6.613 15998044.9 2.268 | |
Agrona agronaIntSetPrimitiveEnhancedFor 5583.478 2.06 34.295 0.095 | |
Integer List integerListEnhancedFor 446.453 0.483 7.029 1.772 | |
Integer List integerListForI 118.102 0.017 2.528 0.361 | |
Integer List integerListIteratorFor 109.958 0.04 2.092 0.436 | |
Integer List integerListIteratorWhile 106.426 0.038 1.921 0.486 | |
HashMap<String, Integer> mapEntrySetEnhancedFor 8247.004 9.687 100.211 2.922 | |
HashMap<String, Integer> mapEntrySetIteratorFor 8422.022 11.896 102.252 21.762 | |
HashMap<String, Integer> mapEntrySetIteratorWhile 8435.771 25.184 111.387 30.392 | |
Integer[] objectArrayEnhancedFor 117.284 0.025 2.482 0.353 | |
Integer[] objectArrayForI 117.325 0.025 2.342 0.444 | |
Set<Integer> plainIntSetEnhancedFor 6310.717 14.103 104.136 23.284 | |
Set<Integer> plainIntSetIteratorFor 5798.292 10.231 83.926 20.344 | |
Set<Integer> plainIntSetIteratorWhile 5640.916 8.046 74.767 17.684 | |
int[] primitiveArrayEnhancedFor 74.745 0.009 1.046 0.112 | |
int[] primitiveArrayForI 73.593 0.007 0.862 0.211 | |
*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment