Beetl 研发自 2010 年,国内流行 Java 模板引擎
文档 源码 在线体验 模板性能测试 表达式引擎性能测试 性能优化指南
本次发布修复了自定义HTML标签的配置BUG,Beetl同其他模版语言有许多不同的地方,其中一个重要不同在于能自定义定界符和站位符,包括
- 自定义定界符,如<% <? # 等任意符号
- 自定义占位符,如${},#{} 等任意符号
- 自定义HTML标签,如<#topic name=""/> 或者 <yourPeffix:topic name=""/>
- 最多允许定义2对定界符和占位符,比如既支持<%%> ,也支持 #: 作为定界符
- 支持不同的模版文件名使用不同的定界符配置,如html结尾模版使用<!--: -->作为定界符,java代码模版使用//:作为定界符
Maven
<dependency>
<groupId>com.ibeetl</groupId>
<artifactId>beetl</artifactId>
<version>3.19.1.RELEASE</version>
</dependency>
最新模板性能测试,各个模板引擎均采用最新版本, Score 越大越好
Beetl=Enjoy>Rocker>>Freemarker>>Thymeleaf==Velociy
Benchmark Mode Cnt Score Error Units
Beetl.benchmark thrpt 5 109547.863 ± 17161.576 ops/s
BeetlByte.benchmark thrpt 5 237799.769 ± 5904.514 ops/s
Enjoy.benchmark thrpt 5 99695.440 ± 14083.595 ops/s
EnjoyByte.benchmark thrpt 5 223874.001 ± 7265.307 ops/s
Freemarker.benchmark thrpt 5 41452.634 ± 15917.119 ops/s
Handlebars.benchmark thrpt 5 40360.198 ± 24345.048 ops/s
Rocker.benchmark thrpt 5 63657.017 ± 4653.265 ops/s
Thymeleaf.benchmark thrpt 5 6457.169 ± 272.613 ops/s
Velocity.benchmark thrpt 5 8024.042 ± 2097.396 ops/s
最新脚本引擎性能测试,Score 越大越好
Liquor>>WastEl>JfireEL=Spel>> Aviator=Beetl=Jexl3 >>Mvel=Groovy>>Nashorn
Benchmark Mode Cnt Score Error Units
Aviator.forExpresss thrpt 5 452423.525 ± 98409.357 ops/s
Aviator.ifExpresss thrpt 5 4537367.630 ± 64633.119 ops/s
Aviator.simpleExpress thrpt 5 3836403.575 ± 31114.019 ops/s
Beetl.forExpresss thrpt 5 1526847.329 ± 265889.574 ops/s
Beetl.ifExpresss thrpt 5 4423805.098 ± 1124023.073 ops/s
Beetl.reflect thrpt 5 70820.070 ± 97197.223 ops/s
Beetl.simpleExpress thrpt 5 4668751.853 ± 242267.492 ops/s
Groovy.ifExpresss thrpt 5 138120.419 ± 3309.883 ops/s
Groovy.simpleExpress thrpt 5 143464.468 ± 4109.476 ops/s
Jexl3.forExpresss thrpt 5 778238.519 ± 37223.120 ops/s
Jexl3.ifExpresss thrpt 5 4546708.051 ± 102121.733 ops/s
Jexl3.simpleExpress thrpt 5 3959981.088 ± 104018.551 ops/s
JfireEL.ifExpresss thrpt 5 28492758.519 ± 1255731.601 ops/s
JfireEL.simpleExpress thrpt 5 20056530.964 ± 180910.226 ops/s
Liquor.forExpresss thrpt 5 153428936.910 ± 1546258.435 ops/s
Liquor.ifExpresss thrpt 5 164543228.416 ± 5095296.054 ops/s
Liquor.simpleExpress thrpt 5 146376926.076 ± 4291072.121 ops/s
Mvel.forExpresss thrpt 5 12189.900 ± 338.097 ops/s
Mvel.ifExpresss thrpt 5 221874.548 ± 37709.654 ops/s
Mvel.simpleExpress thrpt 5 322864.761 ± 6554.101 ops/s
Spel.ifExpresss thrpt 5 18967054.667 ± 443073.976 ops/s
Spel.simpleExpress thrpt 5 18319163.907 ± 627641.759 ops/s
WastEl.ifExpresss thrpt 5 43778985.720 ± 502399.670 ops/s
WastEl.simpleExpress thrpt 5