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)

Reply via email to