It's a benchmark that puts together:
The goal is to test the performance of Java Stream API before
the "stream fusion" optimization
and after it, then comparing the results. Intermediate artifacts are in this
summary.html
.
We partially reuse the benchmark
earlier suggested by
Biboudis et al.
and used by
Møller et al..
This is the summary of the tests performed by openjdk 23.0.1 on 2024-11-07 at 16:27 on Linux with 4 CPUs in this GHA run (the numbers are in milliseconds):
Test method | Before | After | Diff |
---|---|---|---|
Big.plain |
30.85 |
35.40 |
-4.55 |
Big.streams |
131.71 |
124.05 |
7.66 |
Squares.sum |
38.59 |
38.29 |
0.31 |
Squares.sumOfEvenSquares |
48.05 |
58.12 |
-10.07 |
Squares.sumOfEvenSquaresSeq |
67.89 |
68.11 |
-0.23 |
Squares.sumOfSquares |
39.76 |
39.18 |
0.57 |
Squares.sumOfSquaresSeq |
40.07 |
38.98 |
1.09 |
The entire test took 1029 seconds.
Fork repository, make changes, then send us
a pull request.
We will review your changes and apply them to the master
branch shortly,
provided they don't violate our quality standards. To avoid frustration,
before sending us your pull request please run full build:
make
You will need Maven 3.3+ and Java 11+ installed.