Ickenham is fast and concise template system, largely compatible with Handlebars and Mustache templates.
You can add the Ickenham as a dependency in following ways.
You can find available versions here.
"com.github.enpassant" %% "ickenham" % "1.4.0"
<dependency>
<groupId>com.github.enpassant</groupId>
<artifactId>ickenham_${scala.version}</artifactId>
<version>1.4.0</version>
</dependency>
Template engines benchmarked with the project Spring compareing template engine.
In case you want to benchmark the different template engines I would recommend using wrk HTTP benchmarking tool.
wrk -c 100 -d 10 -t 10 http://localhost:8080/ickenham
This runs benchmark for 10 seconds, using 10 threads, and keeping 100 HTTP connections open.
These tests were done on a local machine with the following specs:
Ubuntu 16.04 LTS
2,6-3,6 GHz Intel Core i7
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
Apache Tomcat 7.0.72 with 512M RAM
Results in order (best to worst): 0. Empty page (without any template): 40.000 req/s
- Mustache: 34.500 req/s
- Velocity: 32.000 req/s
- Pebble: 30.000 req/s
- Freemarker: 29.000 req/s
- JSP: 27.000 req/s
- Ickenham (Scala, Handlebars syntax): 26.500 req/s
- Jtwig: 25.000 req/s
- Chunk: 20.500 req/s
- Thymeleaf: 20.500 req/s
- Handlebars: 19.000 req/s
- Jade: 16.000 req/s (150-200 error)
- Scalate (Scala): 10.000 req/s