/hibernate-hql-benchmark

Benchmarks for HQL parsing and execution

Primary LanguageJava

HQL Benchmark

Benchmark testing HQL parsing and semantic analysis between different versions of Hibernate. Currently running against 5.x and 6.x is supported.

Note
Unfortunately JMH forces us to duplicate the benchmark test class(es) in each benchmark sub-project :(
Note
In all cases, gradlew benchmark can be substituted for gradlew jmh
Note

To run just a single benchmark test, use the benchmark_inclusions project property, e.g.

gradlew :orm6:jmh -Pbenchmark_inclusions="BenchmarkTests.multiExecution"
gradlew :orm6:jmh -Pbenchmark_inclusions="BenchmarkTests.simplePathPredicate"

Hibernate ORM 6 testing

To run the benchmark against Hibernate 6.x:

cd orm6
gradlew jmh

Hibernate ORM 5 testing

To run the benchmark against Hibernate 5.x:

cd orm5
gradlew jmh

Combined testing

To run benchmark against all versions (and create a unified report):

cd {root}
gradlew jmh

Java Flight Recorder / Mission Control

  • Launch Mission Control

  • Start benchmark

  • Start recording the JVM running the benchmark (should be the forked jmh one)