規則引擎深度對比,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除了文中所提到的一些特性以外,還有很多其他各種各樣的探索性的玩法和高級特性 。是一款很值得深挖的框架 。

推薦閱讀