我正在尋找最快和可靠的java模板引擎。有微秒功能的模板引擎的基準嗎?有沒有Java模板引擎基準?
我發現引擎: http://code.google.com/p/mist4j/wiki/USAGE http://lazyj.sourceforge.net/
Scrpting語言模板基準測試http://www.kuwata-lab.com/tenjin/ 有速度很爛。
我也很感興趣的引擎找到和freemarker和StringTemplate引擎的能力比較。
我正在尋找最快和可靠的java模板引擎。有微秒功能的模板引擎的基準嗎?有沒有Java模板引擎基準?
我發現引擎: http://code.google.com/p/mist4j/wiki/USAGE http://lazyj.sourceforge.net/
Scrpting語言模板基準測試http://www.kuwata-lab.com/tenjin/ 有速度很爛。
我也很感興趣的引擎找到和freemarker和StringTemplate引擎的能力比較。
我跑了10000次循環。節奏是無法加載模板,所以我需要排除在我的測試...
的StringBuilder: 【JAVA] N次:10000,實時:641(毫秒)
的freemarker: 【JAVA] N次:10000,實時:1602(毫秒)
速度: 【JAVA] N次:10000,實時:1035(毫秒)
火腿: 【JAVA] N次:10000,實時:633 (毫秒)
HTTL: 【JAVA] N次:10000,實時:479(毫秒)
jmte: 【JAVA] N次:10000,實時:2193(毫秒)
HTTL在所有測試優於有100個時間循環,1000個時間循環和最後10000個循環(上面也提到過)。
這裏是一個模板引擎基準:https://github.com/greenlaw110/template-engine-benchmarks,該基準測試下面的Java模板引擎:
下面是java的模板引擎
https://github.com/jreijn/spring-comparing-template-engines
根據它一個很好的基準:
jTwig 4.709 seconds
Thymeleaf 4.147 seconds
Scalate - Scaml 3.479 seconds
Handlebars 2.936 seconds
Jade4j 2.735 seconds
Freemarker 2.637 seconds
HTTL 2.531 seconds
Pebble 2.512 seconds
Velocity 2.491 seconds
Mustache (JMustache) 2.326 seconds
JSP 2.227 seconds
最好的部分是:你可以自己繁殖的標杆和驗證結果:)
最後我看到它(它肯定沒有改變)Velocity沒有被編譯成任何東西,它只是直接運行AST。 AST節點將使用'Map.get'和reflection來獲取值。 FreeMarker也是如此(我敢肯定),它應該會更慢,因爲它需要做更多的功能(更多功能)。爲「腳本語言」(如Python)編寫的OTOH模板語言通常會轉換爲主機腳本語言,然後高度調整的腳本語言實現(如CPython)將實現它的魔力...因此速度不同。 – ddekany