You came to this page from the summary. The page is auto-generated by the Makefile at 2025-08-11 05:15.
package org.eolang.benchmark; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; import java.util.stream.IntStream; import java.util.stream.Stream; import org.openjdk.jmh.annotations.Benchmark; import org.openjdk.jmh.annotations.BenchmarkMode; import org.openjdk.jmh.annotations.Fork; import org.openjdk.jmh.annotations.Measurement; import org.openjdk.jmh.annotations.Mode; import org.openjdk.jmh.annotations.OutputTimeUnit; import org.openjdk.jmh.annotations.Scope; import org.openjdk.jmh.annotations.State; import org.openjdk.jmh.annotations.Warmup; @BenchmarkMode({Mode.AverageTime}) @OutputTimeUnit(TimeUnit.MILLISECONDS) @Warmup(iterations = 10, time = 100, timeUnit = TimeUnit.MILLISECONDS) @Measurement(iterations = 10, time = 100, timeUnit = TimeUnit.MILLISECONDS) @State(Scope.Benchmark) @Fork(1) public class Big { private static final long EXPECTED = 1325403L; private static final Integer[] VALUES; @Benchmark public long loop() { long l = 0L; for (byte b = 0; b < VALUES.length; b++) { int i = VALUES[b].intValue() + 1; if (i % 13 != 0) { i = i * i / 17; if (i % 7 == 0) l++; } } assert l == 1325403L; return l; } @Benchmark public long stream() { long l = Stream.<Integer>of(VALUES).mapMulti((paramInteger, paramConsumer) -> { if (!lambda$stream$2(lambda$stream$1(paramInteger))) return; if (!lambda$stream$5(lambda$stream$4(lambda$stream$3(lambda$stream$1(paramInteger))))) return; paramConsumer.accept(lambda$stream$4(lambda$stream$3(lambda$stream$1(paramInteger)))); }).count(); assert l == 1325403L; return l; } static { VALUES = IntStream.range(0, 10000000).boxed().<Integer>toArray(paramInt -> new Integer[paramInt]); } }