This module contains JMH-based performance tests for Log4j. You can use the generated fat JAR to run the tests as follows:
java -cp target/log4j-perf-test-*-uber.jar org.openjdk.jmh.Main <JMH-ARGS>
To list the available JMH arguments run:
java -cp target/log4j-perf-test-*-uber.jar org.openjdk.jmh.Main -h
ThreadLocalVsPoolBenchmark
-
java -cp target/log4j-perf-test-*-uber.jar org.openjdk.jmh.Main \ -f 1 -wi 10 -i 20 \ -tu ns -bm sample \ ".*ThreadLocalVsPoolBenchmark.*"
JsonTemplateLayoutBenchmark
-
java -cp target/log4j-perf-test-*-uber.jar org.openjdk.jmh.Main \ -f 2 \ -wi 3 -w 20s \ -i 5 -r 30s \ -prof gc \ -prof perfnorm \ -prof "async:libPath=/path/to/libasyncProfiler.so;output=flamegraph" \ -rf json -rff log4j-perf-test/target/JsonTemplateLayoutBenchmarkResult.json \ ".*JsonTemplateLayoutBenchmark.*"