[0.17] - 2019-02-27
- Add JLine support and a much nicer progress and output formatter.
- Clean up benchmark templates and make them more consistent.
- Add
@disabled annotation.
- Various minor improvements.
[0.7] - 2015-08-26
Added
- Add standalone sbt examples to
scalameter/scalameter-examples.
- Add binary compatible JSON based persistors:
JSONSerializationPersistor and
GZIPJSONSerializationPersistor.
- Add
Meausrer.BoxingCount that can measure (auto)boxing of Scala primitives.
- Add
Measurer.MethodInvocationCount that can count invocation of arbitrary methods.
- Add
JBench and entire new annotation based Java API.
- Add
include(new BenchTrait {}) statement used to include benchmark templates that
are themselves not standalone tests, but can be used only with include.
These new include statements can only be invoked from Bench.Group benchmark type.
See example
here.
For rationale, see mailing list
discussion.
Changed
- Make
GZIPJSONSerializationPersistor default for regression testing.
- Rename
PerformanceTest to Bench.
- The
Bench class (formerly PerformanceTest) now takes a type parameter that
describes the type of the results it produces. For most benchmark types, this is
just Double, but some benchmark types measure running time profiles or method
invocation counts and have different results. The Reporter and Measurer must
have the same type as the benchmark itself.
- Change default directory for the benchamark results to
target/benchmarks.
Deprecated
- Move and mark as deprecated
JavaPerformanceTest and its components to
org.scalameter.deprecatedjapi.
- Add compatibility type alias
PerformanceTest for org.scalameter.Bench
in the api package.
- Deprecate
include[BenchClass] statement in favor of include(new BenchTrait {})
(the BenchTrait is a normal benchmark, but must be implemented in a Scala trait).
Fixed
- Fix lack of default
reportDir when running benchmarks using main method.
- Improve release process.