Beetl 模板引擎 3.15.7 发布,Java 模板引擎

完成需求 I7KEB8,默认运算采用精度运算。

Beetl默认情况下当遇到数字以h结尾的时候,认为是BigDecimal类型,随后运算使用高精度运算。

  var a= 3434.33h*233334;

新版本增加配置,不允许显示的使用h表示高精度类型

  BIGDECIMAL=true

则默认所有数字都翻译成BigDecimal

  Script script = groupTemplate.getScript("return 5/3;",loader);  script.execute();  if(script.isSuccess()){  	Object value = script.getResult().get("return");  	Assert.assertTrue(value instanceof  BigDecimal);  	Assert.assertEquals(value,new BigDecimal(5).divide(new BigDecimal(3),ALU.scale, ALU.round ));  }else{  	Assert.fail();  }

 

Maven

  <dependency>      <groupId>com.ibeetl</groupId>      <artifactId>beetl</artifactId>      <version>3.15.7.RELEASE</version>  </dependency>  

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

最新模板性能测试,各个模板引擎均采用最新版本, 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 ± 

展开阅读全文
发表评论

相关文章