您的位置:首页 > IT > 正文

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

来源:开源中国     时间:2023-07-12 10:41:06

完成需求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

    com.ibeetl    beetl    3.15.7.RELEASE

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

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

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

Benchmark              Mode  Cnt      Score      Error  UnitsBeetl.benchmark       thrpt    5  141912.506 ± 19090.130  ops/sFreemarker.benchmark  thrpt    5   48062.783 ±  9054.282  ops/sHandlebars.benchmark  thrpt    5   48505.286 ±  6078.944  ops/sRocker.benchmark      thrpt    5  102699.041 ± 11827.123  ops/sThymeleaf.benchmark   thrpt    5   14495.261 ±  1460.815  ops/sVelocity.benchmark    thrpt    5   12071.498 ±  4226.219  ops/s

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

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

Benchmark               Mode  Cnt         Score        Error  UnitsAviator.forExpresss    thrpt    5    501413.321 ±   4657.336  ops/sAviator.ifExpresss     thrpt    5   4699456.542 ± 266831.101  ops/sAviator.simpleExpress  thrpt    5   3868701.018 ±  38439.986  ops/sBeetl.forExpresss      thrpt    5   1685875.017 ±  28454.020  ops/sBeetl.ifExpresss       thrpt    5   4461489.443 ±  78687.317  ops/sBeetl.reflect          thrpt    5     62972.088 ±  85785.390  ops/sBeetl.simpleExpress    thrpt    5   4328852.130 ± 144586.699  ops/sGroovy.ifExpresss      thrpt    5    119493.364 ±   1472.301  ops/sGroovy.simpleExpress   thrpt    5    121724.720 ±   1533.726  ops/sJexl3.forExpresss      thrpt    5    789815.632 ±  42390.393  ops/sJexl3.ifExpresss       thrpt    5   4500714.752 ± 138214.400  ops/sJexl3.simpleExpress    thrpt    5   3901843.173 ± 125472.114  ops/sJfireEL.ifExpresss     thrpt    5  28337464.920 ± 291859.385  ops/sJfireEL.simpleExpress  thrpt    5  18824292.084 ± 103241.504  ops/sMvel.forExpresss       thrpt    5     11954.857 ±     84.105  ops/sMvel.ifExpresss        thrpt    5    230373.242 ±   1827.288  ops/sMvel.simpleExpress     thrpt    5    316083.646 ±   1320.717  ops/sNashorn.ifExpresss     thrpt    5     10010.541 ±    752.057  ops/sNashorn.simpleExpress  thrpt    5      8993.022 ±    518.940  ops/sSpel.ifExpresss        thrpt    5    850338.540 ±  41826.542  ops/sSpel.simpleExpress     thrpt    5    636251.839 ± 

Beetl.reflect 是指Beetl能像Java反射那样能查询出表达式结构,变量名

相关文章