Beetl 模板引擎 3.15 发布,支持 SpringBoot3

来源: 投稿
作者: 闲大赋
2023-03-24 09:46:00
  • 新增发布包beetl-antlr4.5,支持antlr4.5,antlr4.6
  • 新增发布包beetl-antlr4.11,支持antlr4.10,antlr4.11,antlr4.12
  • SpringBoot3 支持,使用beetl-springboot-starter-jdk17,结合@EnableBeetl支持Beetl模板引擎

@SpringBootApplication
@EnableBeetl
public class TestSpringBoot3Application {
    public static void main(String[] args) {
        SpringApplication.run(TestSpringBootApplication.class, args);
    }

}

 调整了POM结构

  • beetl-core: 核心模块
  • beetl-ext: 扩展模块
  • beetl-integration: beetl和各个新框架集成,目前主要是jdk17的springboot3
  • beetl-classic-integration beetl和各个框架集成,JDK8的如springboot2,jfinal,nutz,struts等
  • beetl-test:beetl单元测试
  • express-benchmark: beetl 和其他表达式引擎性能测试比较
  • template-benchmark: beetl 和其他模板引擎性能测试比较
  • grammar:beetl的词法和语法文件
  • antlr-support: 支持antlr的各个版本
  • beetl-release, 集成beetl-core,beetl-ext,antlr依赖,包含了JDK8,JDK11,JDK17支持
  • antlr-support, 支持各个版本的antlr,以及JDK11,JDK17
  • beeetl-dependency-all: 同beetl,把所有依赖打包成一个flat jar

文档 源码 在线体验 模板性能测试 表达式引擎性能测试  性能优化指南 

最新模板性能测试,各个模板引擎均采用最新版本, Score 越大越好

Beetl>Rocker>>Freemarker>>Thymeleaf==Velociy

Benchmark              Mode  Cnt      Score      Error  Units

Beetl.benchmark       thrpt    5  141912.506 ± 19090.130  ops/s
Freemarker.benchmark  thrpt    5   48062.783 ±  9054.282  ops/s
Handlebars.benchmark  thrpt    5   48505.286 ±  6078.944  ops/s
Rocker.benchmark      thrpt    5  102699.041 ± 11827.123  ops/s
Thymeleaf.benchmark   thrpt    5   14495.261 ±  1460.815  ops/s
Velocity.benchmark    thrpt    5   12071.498 ±  4226.219  ops/s

 

最新规则引擎性能测试,Score 越大越好

JfireEL>> Aviator=Beetl=Jexl3 >>Spel>>Mvel=Groovy>>Nashor

Benchmark               Mode  Cnt         Score        Error  Units
Aviator.forExpresss    thrpt    5    501413.321 ±   4657.336  ops/s
Aviator.ifExpresss     thrpt    5   4699456.542 ± 266831.101  ops/s
Aviator.simpleExpress  thrpt    5   3868701.018 ±  38439.986  ops/s
Beetl.forExpresss      thrpt    5   1685875.017 ±  28454.020  ops/s
Beetl.ifExpresss       thrpt    5   4461489.443 ±  78687.317  ops/s
Beetl.reflect          thrpt    5     62972.088 ±  85785.390  ops/s
Beetl.simpleExpress    thrpt    5   4328852.130 ± 144586.699  ops/s
Groovy.ifExpresss      thrpt    5    119493.364 ±   1472.301  ops/s
Groovy.simpleExpress   thrpt    5    121724.720 ±   1533.726  ops/s
Jexl3.forExpresss      thrpt    5    789815.632 ±  42390.393  ops/s
Jexl3.ifExpresss       thrpt    5   4500714.752 ± 138214.400  ops/s
Jexl3.simpleExpress    thrpt    5   3901843.173 ± 125472.114  ops/s
JfireEL.ifExpresss     thrpt    5  28337464.920 ± 291859.385  ops/s
JfireEL.simpleExpress  thrpt    5  18824292.084 ± 103241.504  ops/s
Mvel.forExpresss       thrpt    5     11954.857 ±     84.105  ops/s
Mvel.ifExpresss        thrpt    5    230373.242 ±   1827.288  ops/s
Mvel.simpleExpress     thrpt    5    316083.646 ±   1320.717  ops/s
Nashorn.ifExpresss     thrpt    5     10010.541 ±    752.057  ops/s
Nashorn.simpleExpress  thrpt    5      8993.022 ±    518.940  ops/s
Spel.ifExpresss        thrpt    5    850338.540 ±  41826.542  ops/s
Spel.simpleExpress     thrpt    5    636251.839 ±   2553.017  ops/

 

展开阅读全文
精彩评论
除了作者特有个性的用md当做mapper文件格式,别的都特别好
2023-03-24 10:58
1
举报
1 收藏
分享
6 评论
1 收藏
分享
返回顶部
顶部