Details
-
Improvement
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
-
Performance
-
Low Hanging Fruit
-
All
-
None
-
Description
1. CASSANDRA-12586 introduced build-jmh task which builds uber jar for JMH benchmarks which is then not used with ant microbench task. It is used though by the test/bin/jmh script.
In fact, I have no idea why we should use uber jar if JMH can perfectly run with a regular classpath. Maybe that had something to do with older JMH version which was used that time. Building uber jars takes time and is annoying. Since it seems to be redundant anyway, I'm going to remove it and fix test/bin/jmh to use a regular classpath.
2. I'll add support for async profiler in benchmarks. That is, the microbench target automatically fetches the async profiler binaries and adds the necessary args for JMH (-prof asyc... in particular) whenever we run microbench-with-profiler task. If no additional properties are provided some default options will be applied (defined in the script, can be negotiated). Otherwise, whatever is passed to the profiler.opts property will be added as profiler options after library path and target directory definition.
3. If someone wants to see any additional improvements, please comment on the ticket.