-4

My code has unnecessary if/else conditions. Will they affect the performance of my code? If they are taken out, does it have any effect on execution time of the program?

T.J. Crowder
  • 1,031,962
  • 187
  • 1,923
  • 1,875
  • 3
    Any concrete example? Why are these unnecessary conditions left in the code in the first place if they are unnecessary? – JB Nizet May 07 '17 at 08:22

3 Answers3

2

My code has unnecessary if/else conditions. Will they affect the performance of my code?

If they're executed, they take non-zero time to evaluate. But in 99.99999% of cases, it's unlikely to matter. Worry about a performance problem when you have a performance problem.

But for example, given:

void example(int a) {
    if (a < 0) {
        doThis();
    } else if (a < 100) {
        doThat();
    } else if (a < 1000) {
        doSomethingElse();
    } else {
        doAnotherThingEntirely();
    }
}

...if you know that a will never be, say, <50, those first two conditions are unnecessary, they'll never be true. Checking them requires doing work — a very very very very very small amount of work that's unlikely to matter, but work nonetheless. So in that sense, it affects your code's performance.

But again: It's unlikely to matter. Worry about it when you're dealing with a real-world performance problem you've isolated to the code in question.

That doesn't mean you shouldn't remove them. If they're truly unnecessary, they're exactly that: Unnecessary. Unnecessary code should generally be removed, all other things being equal.

T.J. Crowder
  • 1,031,962
  • 187
  • 1,923
  • 1,875
0

No but loop condition can effect your performance

0

In general it will not affect the performance but can cause unexpected behaviour. In terms of Clean Code unneserry if and if-else statements have to be removed for clarity, maintainability, better testing.

One case where the performance will be reduced because of unnecessary if statements is in loops.