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