前言
常用的Java模板引擎包括:JSP、Freemarker、Thymeleaf、Velocity,从Github上查阅到这几款主流的模板引擎的性能的对比,总体上看,JSP、Freemarker、Thymeleaf、Velocity在性能上差别不是很大,而Thymeleaf与前三者相比,在性能上存在着较大的差距,因此在选择Thymeleaf作为模板需要慎重,本片文章主要介绍Freemarker模板引擎的只要标签和使用。
模板引擎性能对比
参考:https://github.com/jreijn/spring-comparing-template-engines/issues/19
本地系统配置:
架构:x86_64
CPU操作模式:32位,64位
字节顺序:小端字节
CPU:4
个在线CPU列表:0-3个
线程每个内核:
每个插槽2个内核:2个
插槽:1个
NUMA节点:1
供应商ID:真正的 英特尔
CPU系列:6
型号:37
型号名称:英特尔(R)Core(TM)i5 CPU M 430 @ 2.27GHz
步进:2
CPU MHz:1199.000
CPU max MHz:2267.0000
CPU min MHz:1199.0000
BogoMIPS:4522.04
虚拟化:VT-x
L1d缓存:32K
L1i缓存:32K
L2缓存:256K
L3缓存:3072K
NUMA node0 CPU:0-3
JSP
文档路径:/ jsp
文档长度:8515字节
并发级别:25
测试时间:13.003秒
完整请求:25000
失败请求:0
保持活动请求:0
传输总数:218825000字节
传输的HTML:212875000字节
每秒的请求: 1922.59(#/秒)(平均)
每个请求的时间:13.003(ms)(平均)
每个请求的时间:0.520(ms)(所有并发请求中的平均)
传输速率:接收到16434.05(KB /秒)
Thymeleaf 3
文档路径:/ thymeleaf
文档长度:8849字节
并发级别:25
测试时间:23.303秒
完整请求:25000
失败请求:0
保持活动请求:0
总传输:225300000字节
HTML传输:221225000字节
每秒的请求:1072.80(#/秒)(平均值)
每个请求时间:23.303(ms)(平均值)
每个请求时间:0.932(ms)(所有并发请求中的平均值)
传输速率:9441.52(KB / sec)
Velocity
文档路径:/ velocity
文档长度:8951字节
并发级别:25
测试时间:13.200秒
完整请求:25000
失败请求:0
保持活动请求:0
传输总数:227975000字节
传输的HTML:223775000字节
每秒的请求:1893.92(#/秒)(平均)
每个请求的时间:13.200(ms)(平均)
每个请求的时间:0.528(ms)(所有并发请求的平均)
传输速率:接收到16865.88(KB / sec)
Freemarker 2.3.23
文档路径:/ freemarker
文档长度:9035字节
并发级别:25
测试时间:12.988秒
完整请求:25000
失败请求:0
保持活动请求:0
总计传输:230075000字节已
传输HTML:225875000字节
请求每秒:1924.83(#/秒)(平均)
每个请求的时间:12.988(ms)(平均)
每个请求的时间:0.520(ms)(所有并行请求中的平均)
传输速率:接收到17299.01(千字节/秒)