我的代码有不必要的if
/ else
条件。它们会影响我的代码的性能吗?如果它们被取出,它是否会对程序的执行时间产生影响?
答案 0 :(得分:1)
我的代码有不必要的if / else条件。它们会影响我的代码的性能吗?
如果他们被执行,他们会花费非零时间来评估。但在99.99999%的情况下,这不太重要。遇到性能问题时担心性能问题。
但是例如,给定:
void example(int a) {
if (a < 0) {
doThis();
} else if (a < 100) {
doThat();
} else if (a < 1000) {
doSomethingElse();
} else {
doAnotherThingEntirely();
}
}
...如果你知道 a
永远不会,比如<50
,前两个条件是不必要的,它们将永远不会成真。检查它们需要做一些工作 - 非常非常非常非常小的工作量,这些工作不太重要,但仍然可以工作。因此,从这个意义上说,它会影响代码的性能。
但同样:这不太重要。当您处理与实际问题相关的实际性能问题时,请担心它。
这并不意味着你不应该删除它们。如果他们真的没必要,他们就是这样:不必要的。通常应删除不必要的代码,所有其他条件相同。
答案 1 :(得分:-1)
否但循环条件会影响您的表现