我正在使用Jess clear()函数,它有一个缓慢的性能问题(每次调用100ms,因为我必须使用它20次,估计时间是2秒)。有没有什么替代方法(关闭jess引擎的函数,或者删除所有模板、事实和规则的函数)可以用于更高的性能?
发布于 2014-11-06 23:40:51
这在一定程度上取决于您如何运行应用程序。如果从Java应用程序调用Jess,您可以简单地
for( int i = 0; i < 20; i++ ){ // 20 times
jess.Rete rete = new jess.Rete();
// load functions, templates, rules, facts,...
rete.run();
}而不是
jess.Rete rete = new jess.Rete();
// load functions
for( int i = 0; i < 20; i++ ){ // 20 times
// load templates, rules, facts,...
rete.run();
rete.clear();
}但请注意,根据事实和Pojos的数量,这两个过程都可能删除大量Java对象,从而导致通常的后果。但是您无法避免这一点,而且这也不是一个Jess问题。
https://stackoverflow.com/questions/26781967
复制相似问题