我正在寻找最快和可靠的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