tree: 6ffd08c2d05d838e6fa056c78b4069861da4dbb0 [path history] [tgz]
  1. src/
  2. build.gradle.kts
  3. gradle.properties
  4. README.md
ubenchmark/README.md

Micro-benchmarks

This directory, ubenchmark, contains micro-benchmarks written using the jmh framework.

The benchmarks are tools for development and are not distributed as Calcite artifacts. (Besides, jmh's license does not allow that.)

Running all benchmark from the command line

To run all benchmarks:

{noformat}bash $ cd calcite $ ./gradlew :ubenchmark:jmh {noformat}

Running one benchmark from the command line

To run just one benchmark, modify ubenchmark/build.gradle.kts and add the following task:

{noformat}kotlin jmh { include = listOf(“removeAllVertices.*Benchmark”) } {noformat}

and run

{noformat}bash $ ./gradlew :ubenchmark:jmh {noformat}

as before. In this case, removeAllVertices.*Benchmark is a regular expression that matches a few methods -- benchmarks -- in class DefaultDirectedGraphBenchmark.

The jmd-gradle-plugin has many other options but you will need to translate them from Groovy syntax to our Kotlin syntax.

Recording results

When you have run the benchmarks, please record them in the relevant JIRA case and link them here:

  • ParserBenchmark: 459, 1012
  • ArrayListTest: 3878
  • DefaultDirectedGraphBenchmark: 3827
  • RelNodeBenchmark: 3836
  • ReflectVisitorDispatcherTest: 3873