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

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

推荐阅读