→ james732:以前老師說switch可以用查表來做,速度可能會比較快 07/18 01:24
→ james732:畢竟if-elseif要一個一個測試下去 07/18 01:25
推 littlethe:效能應該差不了多少吧?這時候我就會以撰寫速度來選擇 07/18 01:47
→ andymai:如果條件和目的可以用"算的"~那應該會最快~程式碼也超短 07/18 04:52
→ Obb:對人而言.. switch比較快. 維護也方便 07/18 06:42
推 vyjssm:電腦都很快,一點效率差不重要。給人眼看得快比較重要 07/18 07:19
→ iincho:這個...你看一下compile出來的assembly就知道了啊 07/18 07:30
→ Anonymoux:以前討論過了 究效率而言是depend on compiler 07/18 08:24
→ Anonymoux:還有 要增加可讀性 可用callback 方式實做switch概念^.< 07/18 08:26
→ x000032001:編譯器會幫你最佳化~"~ 07/18 10:01
推 rofellosx:看得懂比較重要 07/18 12:51
→ chrisQQ:PHP 測試的結果是 if 比較快。 07/18 13:41
推 iman00b:我以前有研究過,以 C 來說,應該是 if 比較快。 07/18 18:57
→ iman00b:另外,switch 編成機器碼不會用查表。 07/18 18:58
→ iman00b:看來我真的很無聊,因為我是真的編成組合語言來比較~ 07/18 18:58
→ walking:這種主題,感覺應該比較適合 programming 版的. 07/18 21:24
推 iincho:switch編成機器馬不會查表示因為case太少. 07/18 22:47
→ a2350:3Q,感謝大家的回答 07/19 03:03
推 whyso:switch編出的機器碼,會用jump table(我看過的例子, 07/19 23:18
→ whyso:case約有8x個. 且jump table還會減去case內的最小數字, 07/19 23:19
→ whyso:以節省jump table size. 07/19 23:20
推 onear:組語可能懶得維護table吧,但記得.net framework是會的.. 07/20 00:25