Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.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 条件语句按频率排序还是按计算时间排序?_Java_Performance_Logic - Fatal编程技术网

Java 条件语句按频率排序还是按计算时间排序?

Java 条件语句按频率排序还是按计算时间排序?,java,performance,logic,Java,Performance,Logic,假设在IF-ELSE语句中有100个不同的条件 if((boolean = methodA)){ ... } else((boolean = methodZ)){ ... } 从逻辑上讲,我认为最不可能的条件应该是最后一个条件(使用methodZ的条件),最频繁的条件应该是第一个条件(methodA) 然后我想,“如果methodA需要很多时间计算怎么办?”。methodZ将花费比到达目的地更多的时间,即使它是最不频繁的。我应该按计算时间排序条件吗?或者仅仅根据频率来排序 解决

假设在IF-ELSE语句中有100个不同的条件

if((boolean = methodA)){
    ...
}
else((boolean = methodZ)){
    ...
}
从逻辑上讲,我认为最不可能的条件应该是最后一个条件(使用methodZ的条件),最频繁的条件应该是第一个条件(methodA)

然后我想,“如果methodA需要很多时间计算怎么办?”。methodZ将花费比到达目的地更多的时间,即使它是最不频繁的。我应该按计算时间排序条件吗?或者仅仅根据频率来排序

解决这一困境的好办法是什么

假设在IF-ELSE语句中有100个不同的条件

如果您在实际应用程序中碰巧做到了这一点,那么您将面临一个比测量评估条件的时间更重要的巨大设计问题

我应该按计算时间排序条件吗?或者仅仅根据频率来排序

这个问题没有确切的答案。要做的第一件事就是编写条件,然后在应用程序中使用,并评估某些条件是否真的是代码中的问题。如果您发现其中一个CPU使用率很高,那么请启动特定的分析以增强它

假设在IF-ELSE语句中有100个不同的条件

如果您在实际应用程序中碰巧做到了这一点,那么您将面临一个比测量评估条件的时间更重要的巨大设计问题

我应该按计算时间排序条件吗?或者仅仅根据频率来排序


这个问题没有确切的答案。要做的第一件事就是编写条件,然后在应用程序中使用,并评估某些条件是否真的是代码中的问题。如果你发现其中一个CPU使用率很高,那么就开始具体的分析以提高它。

你需要找到平衡点。要计算的时间不仅针对方法,而且针对整个事务。如果methodZ在methodA的1/100时间内完成,并且methodZ的频率小于methodA的100次,则应将其移到顶部。

您需要取得平衡。要计算的时间不仅针对方法,而且针对整个事务。如果methodZ在methodA的1/100时间内完成,并且methodZ的频率小于methodA的100次,则应将其移到顶部。

如果所有条件的评估恰好需要10毫秒,则无需担心=\。。。除非可用时间少于10毫秒。;)如果所有条件的评估恰好需要10毫秒,那么就没有什么可担心的了=\。。。除非可用时间少于10毫秒。;)