Beetl1.2M1 优化了普通文本输出,已经超过了Freemarker
1.2M1的一个重要内容之一是将普通文本合并,以优化输出。譬如以前的版本对于如下文本
aaaaaaaaa
bbbbbbbbb
将会先解析为
<<__V0>><<__VCR>>
<<_V1>><<__VCR>>
新的合并后,将变成
<<_V0>>
这样,输出调用就大大减少了。
经过测试。对于一个6k的模板,(为了方便比较性能,此模板几乎都是普通文本),循环调用10000次,性能比较如下
beetl1.1 (解释执行) 563毫秒
beetl1.1? (编译执行) 112 毫秒
beetl1.2M1 (解释执行)172毫秒
freemarker 2.3.1? 312 毫秒
?
在家闭关了一天,才优化出来的效果,值得庆祝