T Jake Luciani created CASSANDRA-8151:
-----------------------------------------
Summary: Add build support for JMH microbenchmarks
Key: CASSANDRA-8151
URL: https://issues.apache.org/jira/browse/CASSANDRA-8151
Project: Cassandra
Issue Type: Improvement
Reporter: T Jake Luciani
Assignee: T Jake Luciani
Priority: Minor
Fix For: 3.0
Making performance changes to C* often requires verification by stress or
cstar.datastax.com. Other changes can be verified with a microbenchmark tool
like JMH. As a developer, maintaining a separate project to run these is a
pain.
This patch adds support to run microbenchmarks as a separate ant target. Also
adds a sample showing some of the benchmark annotation options.
{code}
ant microbench -Dbenchmark.name=Sample
...
[java] Benchmark (duplicateLookback) (pageSize)
(randomRatio) (randomRunLength) (uniquePages) Mode Samples Score Error
Units
[java] o.a.c.t.m.Sample.lz4 4..128 65536
0.1 4..16 1024 thrpt 5 27.215 ± 0.717 ops/ms
[java] o.a.c.t.m.Sample.snappy 4..128 65536
0.1 4..16 1024 thrpt 5 15.306 ± 0.779 ops/ms
{code}
If you skip the benchmark.name property it will run all microbenchmarks (under
the microbenchmark package namespace)
One annoying thing about this patch is it now adds this error on build which is
an annoying but harmless warning
{code}
[javac] warning: Supported source version 'RELEASE_6' from annotation processor
'org.openjdk.jmh.generators.BenchmarkProcessor' less than -source '1.7'
{code}
https://bugs.openjdk.java.net/browse/JDK-8037955
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)