Drools Planner规则分析

时间:2013-10-29 08:52:12

标签: java drools drools-planner optaplanner

我们正在使用Drools Planner 5.4.0.Final。 我们想要分析我们的java应用程序,以了解我们是否可以提高性能。 有没有办法分析需要评估规则的时间? 我们使用了很多eval(....),我们的“每秒平均计算次数”接近37次。删除所有eval(...)我们的“每秒平均计算次数”保持不变。

我们已经对应用程序进行了分析,我们看到大部分时间都用在了doMove ... afterVariableChanged(...)。

所以我们怀疑我们的一些规则是低效的,但我们不明白问题出在哪里。

谢谢!

1 个答案:

答案 0 :(得分:3)

每秒体面的平均计算次数高于1000(至少),高于5000。按顺序执行以下步骤:

1)首先,我强烈建议升级到6.0.0.CR5。只需关注the upgrade recipe ,即可在几个小时内逐步指导您。由于一些改进(选择器,约束匹配系统......),仅此一项就会使平均计算次数翻倍(并且可能会更多)。

2)用enabling logging打开黑匣子:首先是DEBUG,然后是TRACE。日志可以显示移动是否缓慢(=规则缓慢)或步骤初始化缓慢(=您需要JIT选择)。

3)使用stepLimit benchmark技术找出哪些规则很慢。

4)使用benchmarker(如果您还没有)并使用JIT选择,延迟接受等。请参阅文档中的这些主题。