规则引擎深度对比,LiteFlow vs Drools!( 五 )

两款框架都全用脚本来写的情况下 , 测试的过程中 , 去除所有的打印日志 , 执行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除了文中所提到的一些特性以外 , 还有很多其他各种各样的探索性的玩法和高级特性 。是一款很值得深挖的框架 。

经验总结扩展阅读