ПФ
Size: a a a
ПФ
ПФ
OS
OS
OS
OS
ВВ
ВВ
ПФ
OS
ПФ
@Warmup(iterations = 1)
@Measurement(iterations = 3)
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Fork(1)
@State(Scope.Benchmark)
public class JavaSimpleStreamBenchmark {
@Param({"10", "100", "1000", "10000"})
public int arrSz;
int[] values;
private final Random random = new Random();
@Setup(Level.Invocation)
public void setup() {
values = new int[arrSz];
for (int i = 0; i < arrSz; i++) {
values[i] = random.nextInt();
}
}
@Benchmark
public void testMethod(Blackhole b) {
b.consume(Arrays.stream(values)
.map(x -> x + 1)
.map(x -> x * 2)
.map(x -> x + 2)
.reduce(0, Integer::sum));
}
}
ПФ
Gral'
JavaSimpleStreamBenchmark.testMethod 10 avgt 3 28.729 ± 28.973 ns/op
JavaSimpleStreamBenchmark.testMethod 100 avgt 3 669.690 ± 136.858 ns/op
JavaSimpleStreamBenchmark.testMethod 1000 avgt 3 5989.345 ± 1435.071 ns/op
JavaSimpleStreamBenchmark.testMethod 10000 avgt 3 60607.915 ± 2981.063 ns/op
Net Gral'ya
JavaSimpleStreamBenchmark.testMethod 10 avgt 3 215.378 ± 53.187 ns/op
JavaSimpleStreamBenchmark.testMethod 100 avgt 3 1307.345 ± 556.036 ns/op
JavaSimpleStreamBenchmark.testMethod 1000 avgt 3 11968.381 ± 6020.681 ns/op
JavaSimpleStreamBenchmark.testMethod 10000 avgt 3 117316.617 ± 86521.997 ns/op
ПФ
ПФ
ПФ
ПФ
ПФ
ПФ
ПФ
ПФ