2013-10-29 86 views
1

我們正在使用Drools Planner 5.4.0.Final。 我們想要剖析我們的Java應用程序,以瞭解我們是否可以提高性能。 有沒有辦法來分析需要評估規則需要多少時間? 我們使用了很多eval(....),我們的「每秒平均計算次數」接近37次。刪除所有eval(...)我們的「每秒平均計算次數」保持不變。Drools Planner規則剖析

我們已經介紹了該應用程序,並且我們看到大部分時間都花在了doMove ... afterVariableChanged(...)之後。

所以我們懷疑我們的一些規則是低效的,但我們不明白問題出在哪裏。

謝謝!

回答

3

體面的平均每秒計算次數高於1000(至少),高於5000的高於1000。按照以下步驟排列:

1)首先,我強烈建議升級到6.0.0.CR5。只需按照the upgrade recipe這將引導你在幾個小時內一步一步。由於一些改進(選擇器,約束匹配系統,...),單憑這一點將使您的平均計算次數增加一倍(可能還會更多)。

2)按enabling logging打開黑框:先調試,然後TRACE。日誌可以顯示移動緩慢(=規則緩慢)還是步驟初始化緩慢(=您需要JIT選擇)。 3)使用stepLimit benchmark技術找出哪些規則很慢。

4)使用benchmarker(如果您還沒有)並玩JIT選擇,延遲接受等。請參閱文檔中的這些主題。