不必要的if-else条件会影响代码性能吗?

时间:2017-05-07 08:13:00

标签: java performance if-statement time-complexity

我的代码有不必要的if / else条件。它们会影响我的代码的性能吗?如果它们被取出,它是否会对程序的执行时间产生影响?

2 个答案:

答案 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)

否但循环条件会影响您的表现