Generally is there a performance difference between using an if block with many else ifs compared to a switch case block? Do some languages or style conventions prefer one over the other?
Specifically I am curious about Matlab, C, and C++
A switch can be optimized by the compiler, in some cases, into a lookup table and branch. This could be considerably faster than multiple if/else-ifs.
In C, the optimizer can turn a switch into a calculated jmp, so it can be faster. This is possible because you always switch on an integer constant.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With