Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Add infrastructure support for microbenchmarking #18242
We have recently removed a few benchmarks from Elasticsearch core (see #15356). Although most of our benchmarking should be on the macro-level (i.e. running against a real Elasticsearch cluster) we're sometimes interested in benchmarking at a more narrow level. As we don't need a fully running cluster in that case, it makes sense to base them on JMH as it is the de-facto standard for microbenchmarking on the JVM.
The scope of this ticket is just to add the necessary infrastructure to our build scripts (and maybe provide one or two example benchmarks). We will not recreate the former benchmark suite in this ticket (nor should we aim to recreate the whole suite again).
After this is set up, we should run the benchmarks also regularly on Jenkins (on a dedicated quiet machine for benchmarks) and add proper reporting, e.g. with the JMH Benchmark Jenkins Plugin to spot performance regressions.