jfireEL高性能 EL 表达式解析框架
jfireEL 是快速的 EL 表达式解析器,支持丰富的 EL 表达式,7 倍于 SpringEL 的超高性能。
使用场景
EL 表达式解析,在一些涉及到动态规则配置的场合使用较多。比如工作流引擎中的外部规则注入,比如 Spring 框架中的 SpEL 解析等等。jfireEL 框架支持常见的 EL 表达式,诸如四则运算,数组元素获取,链表元素获取,Map 键值对获取,属性获取,方法调用,级联调用,支持获取类定义,枚举定义,支持获取对象等等。
相比于 SpringEL,jfireEL 在表达上更为简洁,比如对于 SpringEL,一个变量属性级联对比的表达式可以写为vars['home'].bool(vars['person'].getAge() + '12' != vars['value'])
,而jfireEL 的写法直接为home.bool(person.getAge() + '12' != value)
。显然 jfireEL 的可读性更高。
性能测试
使用 EL 表达式vars['home'].bool(vars['person'].getAge() + '12' != vars['value'])
对jfireEL,BeetlEL,SpringEL 三款框架进行性能对比验证。在进入测试之前均预热相同次数确保初始化完毕。三款框架性能对比如下:
评论