→ qss05: 是說switch的效率到底有沒有比if else高啊?之前看人家測 12/18 23:48
→ qss05: 試,超過3個選項的話,switch的效率比較好,但是之前跟別 12/18 23:48
→ qss05: 人討論,他一直堅持if效率更好,不管幾個判斷 12/18 23:48
→ Apache: 看你編譯跟執行環境 12/18 23:50
推 labbat: 看asm也不夠準啦,寫的程式碼片段讓分支預測器或快取預抓 12/19 10:30
→ labbat: 太好猜,那就會有虛假的跑分效應 12/19 10:30
→ Hsins: 辣個效能是能影響多少?有時間擔心 switch 跟 if else 的效 12/19 10:33
→ Hsins: 能差異,不如想想一些多層的 for 迴圈是不是必要… 12/19 10:33
推 kurtsgm: 普遍討論是多condition的情況下switch稍稍略優於if-else 12/19 11:11
→ kurtsgm: 但差異也很微小 與其在那邊爭哪個performance好 乖乖看情 12/19 11:12
→ kurtsgm: 境寫可讀性高的code還比較實際一點 12/19 11:12
→ antpro: 全部都放進 embedded system 跑來看看。 12/19 12:21
→ testPtt: switch有些語言改的很棒 結合lambda清爽很多 12/19 16:51
推 CoNsTaR: 不用吵了,array lookup 比 switch case / if else 都快 12/19 18:57
→ shooter555: switch 跟 if-else的速度在實際上真的有人在意嗎 12/20 11:44
→ leolarrel: 寫MCU的人比較會在意吧.老闆要最便宜的MCU但是搞最多的 12/20 13:28
→ leolarrel: 功能的時候... 12/20 13:28
推 tw11509: 我是聽朋友說在產線上每次都差一點點時間,累積起來就是 12/20 19:08
→ tw11509: 很多時間,當然有差 12/20 19:08
推 j0958322080: 寫韌體的會在意阿 12/21 00:26
→ jobintan: 條件少就用if else,條件多的話就switch囉。 12/23 10:16
→ jobintan: BTW,條件多的話,我還沒見識過三元判斷式的操作法。www 12/23 10:17
→ peter98: 在那邊扯switch跟if-else效率的 肯定是計算機架構沒學好 12/23 21:56
→ peter98: 系統的bottleneck很少出現在if/switch這種判斷式。。。 12/23 21:57
推 CoNsTaR: ++i 和 i++ 編譯器不一定會優化成一樣喔 12/27 01:23
→ CoNsTaR: 如果 i 是可以放進 cpu cache 的 type,i++ 因為回傳 ref 12/27 01:23
→ CoNsTaR: 所以不能 cache,會比 ++i 慢(慢很多) 12/27 01:23