This is a JMH benchmark module for QuickFIX/J FIX protocol implementation.
Performance regression classes can be individually run using your favorite IDE.
Build executable jar using following maven command
$ mvn clean package
Use following command to run complete set of performance regression test cases
$ java -jar target/quickfixj-perf-test.jar
You can list available performance benchmarks using -l option
$ java -jar target/quickfixj-perf-test.jar -l
You can run individual benchmarks by providing the class name or benchmark method name
$ java -jar target/quickfixj-perf-test.jar MessageCrackerPerfTest.crack
$ java -jar target/quickfixj-perf-test.jar MessageCrackerPerfTest
You can change the time unit used in the benchmark test using -tu option
Following command is an example of using micro second for describing benchmark test results.
$ java -jar target/quickfixj-perf-test.jar MessageCrackerPerfTest -tu us
For more available options use -h option
$ java -jar target/quickfixj-perf-test.jar -h
- Check if there is already benchmark available for the code you are planning to optimize.
- If there is no benchmark code, first create a benchmark (Example
a-missing-perf-regressionbranch) and make pull request tomasterbranch. - Make your performance improvement in a new branch (Example
a-perf-improvementbranch). - When you make pull request provide comparison between current benchmark (
master) and new benchmark values (a-perf-improvement) - This means providing output of the benchmark execution in two branches in a PR comment