template-benchmark
JMH benchmark for popular Java template engines:
Running the benchmark
Download the source code (git clone git@gitee.com:jfinal/template-benchmark.git)
Build it (mvn clean install)
Run the entire benchmark suite with java -jar target/benchmarks.jar
(Optional) To run a single benchmark, such as Mustache, use java -jar target/benchmarks.jar Enjoy
Generating plot
Run benchmark while exporting results to csv with java -jar target/benchmarks.jar -rff results.csv -rf csv
Use gnuplot to generate plot with gnuplot benchmark.plot. This will output results.png.
Rules of Template Engine Configuration
It is imperative that each template engine is configured in way to reflect real-world usage as opposed to it's optimal configuration. Typically this means an out-of-the-box configuration.
To strive for a common set of features across template engines, the following configurations are expected:
Disabling of HTML escaping
Template loaded from classpath prior to actual benchmark
Interpreting the Results
The benchmarks measure throughput, given in "ops/time". The time unit used is seconds.
Generally, the score represents the number of templates rendered per second; the higher the score, the better.
Example Results