Skip to content

Benchmarks

This project includes JMH benchmarks for measuring performance and memory usage.

Quick Start

# Quick single measurement:
./benchmark-compare.sh HEAD HEAD --quick --label my-feature

# Full comparison with develop:
./benchmark-compare.sh develop HEAD

Report Formats

Format Purpose How to Open
build/jmh-results.json Machine reading, CI jq, python
benchmark-results/comparison-report.txt Terminal, commit message cat
benchmark-results/report.html Visual review browser
benchmark-results/comprehensive-analysis-with-values.png Quick glance image viewer

Usage

Branch comparison

./benchmark-compare.sh <old-branch> <new-branch>

Compare JAR with branch

./benchmark-compare.sh old-release.jar feature/optimization

Custom fixtures

Copy and edit .env.benchmark.example.env.benchmark:

cp .env.benchmark.example .env.benchmark
# edit EDT/Designer paths
./benchmark-compare.sh develop HEAD

CLI options

Option Description
--quick Quick mode: 1 fork, 2 warmup, 3 iterations
--label <name> Label result files instead of new-version
--jvm-args "<args>" JVM arguments for JMH

For details see the Russian documentation (in Russian).