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-26 at 11:19, on Linux with 4 CPUs, in this GHA run (the numbers are in milliseconds):

Test method Before After Diff Gain
Big.plain 32.55 34.03 +1.48 +4%
Big.streams 125.32 127.62 +2.30 +1%
Even.plain 44.96 58.41 +13.45 +29%
Even.streams 67.85 67.97 +0.11 +0%
Sum.plain 36.95 37.89 +0.94 +2%
Sum.streams 37.15 38.84 +1.68 +4%

The entire test took 384 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.