两款框架都全用脚本来写的情况下,测试的过程中,去除所有的打印日志 , 执行10w次,得到的结果如下:
Drools 执行10w次,耗时0.7秒
LiteFlow全脚本组件执行10w次,耗时3.6秒
由于LiteFlow在全脚本组件的情况下 , 需要做脚本的执行和编排脚本的执行,所以花费的时间更长 。
如果LiteFlow把组件更换成java,再进行执行,得到的结果如下:
LiteFlow 全Java组件执行10w次 , 耗时0.5秒
结论
如果LiteFlow采用全脚本的方式运行,耗时会比Drools更长 。如果采用全java组件的方式运行,其性能能超越Drools一点 。
所以对于LiteFlow而言,如果你希望更高的性能,则采用java组件,如果你希望更高的灵活性,则采用脚本组件 。
其实在实际业务中,把容易更改的逻辑抽出来写成脚本组件,采用java+脚本混编的方式,是更为推荐的做法 。
结语为什么会拿Drools来作为比较,其一在题主心中,Drools一直是规则引擎界的标杆,drools有很多理念非常值得学习 。其二也是因为题主也只熟悉Drools,其他的框架没有很好的使用过的缘故 。
但是综合来看,作为国产规则引擎后起之秀LiteFlow显然在设计理念,支持度方面是要优于Drools的 。编排式规则引擎作为规则引擎的一个新的方向,也会一直探索下去的 。希望大家能多多支持这款国产的规则引擎 。在编排方向,LiteFlow除了文中所提到的一些特性以外,还有很多其他各种各样的探索性的玩法和高级特性 。是一款很值得深挖的框架 。
推荐阅读
- Mysql单表访问方法,索引合并,多表连接原理,基于规则的优化,子查询优化
- 真心话大冒险六条规则(真心话大冒险一至六规则图)
- tensorflow-gpu版本安装及深度神经网络训练与cpu版本对比
- MYSQL-->InnoDB引擎底层原理
- 麻将玩法说明(南城麻将玩法规则)
- 使用开源计算引擎提升Excel格式文件处理效率
- 会玩飞行棋怎么进房间(飞行棋的玩法和规则)
- JuiceFS 元数据引擎选型指南
- 实时营销引擎在vivo营销自动化中的实践 | 引擎篇04
- day09-1存储引擎