Bumps [json-smart](https://github.com/netplex/json-smart-v2) from 2.4.1 to 2.4.4. - [Release notes](https://github.com/netplex/json-smart-v2/releases) - [Commits](https://github.com/netplex/json-smart-v2/commits) --- updated-dependencies: - dependency-name: net.minidev:json-smart dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Closes #212
Benchmarks
Benchmarks are based on JMH.
Running Benchmarks
To run the benchmarks with default settings use:
mvn clean test
A basic report will be printed to the CLI.
# Run complete. Total time: 00:00:15
Benchmark Mode Cnt Score Error Units
MappingMongoConverterBenchmark.readObject thrpt 10 1920157,631 ± 64310,809 ops/s
MappingMongoConverterBenchmark.writeObject thrpt 10 782732,857 ± 53804,130 ops/s
Running all Benchmarks of a specific class
To run all Benchmarks of a specific class, just provide its simple class name via the benchmark command line argument.
mvn clean test -D benchmark=MappingMongoConverterBenchmark
Running a single Benchmark
To run a single Benchmark provide its containing class simple name followed by # and the method name via the benchmark command line argument.
mvn clean test -D benchmark=MappingMongoConverterBenchmark#readObjectWith2Properties
Saving Benchmark Results
A detailed benchmark report is stored in JSON format in the /target/reports/performance directory.
To store the report in a different location use the benchmarkReportDir command line argument.
MongoDB
Results can be directly piped to MongoDB by providing a valid Connection String via the publishTo command line argument.
mvn clean test -D publishTo=mongodb://127.0.0.1:27017
NOTE: If the uri does not explicitly define a database the default spring-data-mongodb-benchmarks is used.
HTTP Endpoint
The benchmark report can also be posted as application/json to an HTTP Endpoint by providing a valid URl via the publishTo command line argument.
mvn clean test -D publishTo=http://127.0.0.1:8080/capture-benchmarks
Customizing Benchmarks
Following options can be set via command line.
| Option | Default Value |
|---|---|
| warmupIterations | 10 |
| warmupTime | 1 (seconds) |
| measurementIterations | 10 |
| measurementTime | 1 (seconds) |
| forks | 1 |
| benchmarkReportDir | /target/reports/performance (always relative to project root dir) |
| benchmark | .* (single benchmark via classname#benchmark) |
| publishTo | [not set] (mongodb-uri or http-endpoint) |