两款框架都全用脚本来写的情况下 , 测试的过程中 , 去除所有的打印日志 , 执行10w次 , 得到的结果如下:
【规则引擎深度对比,LiteFlow vs Drools!】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格式文件处理效率
- 有深度有涵养的句子 静心养心修心十句话
- 学生票打折规则
- 会玩飞行棋怎么进房间(飞行棋的玩法和规则)