Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java eval()会导致多少性能下降?_Java_Jboss_Drools_Rules_Rule Engine - Fatal编程技术网

Java eval()会导致多少性能下降?

Java eval()会导致多少性能下降?,java,jboss,drools,rules,rule-engine,Java,Jboss,Drools,Rules,Rule Engine,我不太会流口水。我想知道eval是否会导致评估时间明显减少?在我当前的项目中,有些情况下我必须使用eval。性能差异值得担忧吗?还有别的选择吗 我知道这个问题似乎有点没有定论,但我只是想大声说出来。如果不清楚或缺乏信息,一定要让我知道 你友好的邻居编码员 Avinash最糟糕的问题是eval对Drools不透明,因此每次都必须重新评估。然而,这对性能的影响可能从微不足道到巨大不等 使用eval首先是口水中的代码气味,表明应该重新思考解决方案。归根结底,这几乎从来都不是真正必要的,如果有必要,那么

我不太会流口水。我想知道eval是否会导致评估时间明显减少?在我当前的项目中,有些情况下我必须使用eval。性能差异值得担忧吗?还有别的选择吗

我知道这个问题似乎有点没有定论,但我只是想大声说出来。如果不清楚或缺乏信息,一定要让我知道

你友好的邻居编码员


Avinash

最糟糕的问题是
eval
对Drools不透明,因此每次都必须重新评估。然而,这对性能的影响可能从微不足道到巨大不等


使用
eval
首先是口水中的代码气味,表明应该重新思考解决方案。归根结底,这几乎从来都不是真正必要的,如果有必要,那么整个Drools系统可能是一个错误的工作工具。

最糟糕的问题是,
eval
对Drools不透明,因此每次都必须重新评估。然而,这对性能的影响可能从微不足道到巨大不等


使用
eval
首先是口水中的代码气味,表明应该重新思考解决方案。归根结底,它几乎从来没有真正的必要,如果有必要,那么整个Drools系统可能是一个错误的工作工具。

可以使用布尔包装类来代替eval进行评估

//评估(价值=“印度”)


booleanValue==true)from value==“India”

不使用eval,可以使用Boolean包装类进行求值

//评估(价值=“印度”)


booleanValue==true)from value==“India”

这很难回答。对你来说最好的办法就是做一个PoC,然后亲自看看你会怎么做。谢谢:)这很难回答。对你来说最好的办法就是做一个PoC,然后亲自看看你会怎么做。谢谢:)那么调用外部函数的替代方法是什么呢。例如,考虑<代码>汽车(成本:成本)<代码> > <代码> EVE(ISMORYAN10K($成本))< /代码>。Car对象将有成本,但Car不负责知道成本是否为
10K。我们如何解决这个问题?我已经5年没有使用drools了,但根据我的记忆,解决方案是缓存:将有关成本的事实添加到知识中。如果需要,创建一个新类来保存它。那么调用外部函数的替代方法是什么呢。例如,考虑<代码>汽车(成本:成本)<代码> > <代码> EVE(ISMORYAN10K($成本))< /代码>。Car对象将有成本,但Car不负责知道成本是否为
10K。我们如何解决这个问题?我已经5年没有使用drools了,但根据我的记忆,解决方案是缓存:将有关成本的事实添加到知识中。如果需要,创建一个新类来保存它。