This project defines some small projects with Java, Kotlin and Spring boot to compare executable jar files to native images.
The project uses different modules that showcase simple hello world applications:
- gradle-profiler 0.20.0 (installed via homebrew)
- hyperfine 1.17.0 (installed via homebrew)
- GraalVM CE 17.0.8 (installed via sdkman)
- python3 3.11.4 (installed via pyenv)
- pip3 23.2.1 (comes with python3)
Benchmark of compilation times.
./benchmark-compilation.sh 3 10
Starts every application x times and benchmarks how long it takes to finish.
./benchmark-run.sh 3 30
Every sample contains Dockerfiles for a jar and a native version. All containers use a builder defined in Dockerfile-graalbuilder. Next to every Dockerfile a bash script was placed that runs and tags the build of that Dockerfile.