5

通常情況下,使用if塊與許多其他ifs與切換大小塊相比,性能差異?一些語言或風格習慣比另一種更喜歡哪一種?如果塊vs切換大小塊

具體地說我好奇的MATLAB,C和C++

+0

http://stackoverflow.com/questions/445067/if-vs-switch-speed – zod 2010-10-14 14:51:30

+0

http://stackoverflow.com/questions/97987/switch-vs-if-else – zod 2010-10-14 14:51:47

+1

也許我也應該問這種的問題,得到一些代表?誰在乎重複... – 2010-10-14 14:53:24

回答

3

開關可以通過編譯器進行優化,在某些情況下可以優化爲查找表和分支。這可能比多個if/else-ifs快得多。

1

在C中,優化器可以接通開關到計算JMP,因此它可以更快。這是可能的,因爲你總是打開一個整數常量。