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]);
}
}