深刻了解Java模板引擎Freemarker

前言

經常使用的Java模板引擎包括:JSP、Freemarker、Thymeleaf、Velocity,從Github上查閱到這幾款主流的模板引擎的性能的對比,整體上看,JSP、Freemarker、Thymeleaf、Velocity在性能上差異不是很大,而Thymeleaf與前三者相比,在性能上存在着較大的差距,所以在選擇Thymeleaf做爲模板須要慎重,本片文章主要介紹Freemarker模板引擎的只要標籤和使用。node

在介紹Freemarker模板引擎以前,咱們先對比一下各個模板引擎的性能:

模板引擎性能對比

本地系統配置:git

架構: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-3github

JSP
文檔路徑:/ jsp
文檔長度:8515字節
併發級別:25
測試時間:13.003秒
完整請求:25000
失敗請求:0
保持活動請求:0
傳輸總數:218825000字節
傳輸的HTML:212875000字節
每秒的請求: 1922.59(#/秒)(平均)
每一個請求的時間:13.003(ms)(平均)
每一個請求的時間:0.520(ms)(全部併發請求中的平均)
傳輸速率:接收到16434.05(KB /秒)
spring

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(千字節/秒)
併發

從測試數據結果上看,性能排序:

  • Freemarker > Velocity > JSP > Thymeleaf

Freemarker簡介

相關文章
相關標籤/搜索