Skip to content

Java compilation and optimization benchmark that integrates EO, JEO, and Normalizer

License

Notifications You must be signed in to change notification settings

objectionary/benchmark

Repository files navigation

Stream Fusion Benchmark

EO principles respected here DevOps By Rultor.com We recommend IntelliJ IDEA

mvn License

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.

How to Contribute

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.