Skip to content
This repository has been archived by the owner on Jun 10, 2024. It is now read-only.

yawkat/micronaut-http-benchmarks

Repository files navigation

Micronaut HTTP server benchmarks

The build system is described in this blog post.

Running

  • The benchmarks use h2load for load generation at the moment. You need to have it installed.
  • The benchmarks only work with Graal EE at the moment, for PGO and G1GC. A Graal CE comparison is planned but will be difficult without resolution of a gradle limitation. The Graal EE SDK must be on the PATH.
  • The dependencies are currently hardcoded for x86_64 linux and probably won't work on other platforms.
  • Run ./run-benchmarks.py --prepare-pgo. This will build the native image with --pgo-instrument, apply a test load, and save the generated PGO data.
  • Run ./run-benchmarks.py --verify-features. This will build the normal native images (requires PGO data generated above) and verify that the features are toggled as expected (e.g. the epoll-on builds actually have working epoll).
  • Run ./run-benchmarks.py to run the actual benchmarks. This will take a while.
  • Run ./plot.py to plot the benchmark results.