标签: performance language-agnostic if-statement switch-statement conditional-statements
与开关案例块相比,使用if块和其他许多ifs之间通常会有性能差异吗?某些语言或风格约定更喜欢一种吗?
具体来说,我对Matlab,C和C ++感到好奇
答案 0 :(得分:3)
在某些情况下,编译器可以将开关优化为查找表和分支。这可能比多个if / else-ifs快得多。
答案 1 :(得分:1)
在C中,优化器可以将开关转换为计算出的jmp,因此它可以更快。这是可能的,因为你总是打开一个整数常量。