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++
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++
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.
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.
read if yu have time http://www.blackwasp.co.uk/SpeedTestIfElseSwitch.aspx
http://channel9.msdn.com/forums/TechOff/8393-Best-Practice-switch-vs-if-questions/
http://weblogs.asp.net/jonyates/archive/2004/03/23/94558.aspx