作者hsiansheng (SHENG)
看板C_and_CPP
標題[問題] 相同型態的變數但值不同,運算量的差異?
時間Fri Sep 15 11:34:22 2017
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出):
C
問題(Question):
int a = 0, b = 0, c = 0;
case 1:
a = 1, b = 1;
c = a + b;
case 2:
a = 100000, b = 100000;
c = a + b;
宣告的變數型態相同,但值閾不同,
上述兩個case分別的運算量會有差異嗎?
已爬文並作了實驗,
找不到可解答我的問題,
只有運算子不同的運算量:除法 > 加, 減, 乘
或是型態不同的運算量:double > int
而自己的實驗上則是差不多。
也許大家可以提供我該往哪個方向去尋找,
非本科系,目前不知道該下什麼關鍵字才能找到此問題的答案QQ~
餵入的資料(Input):
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.133.8.232
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1505446465.A.013.html
1F:→ nh60211as: 算個五百萬次就確定有沒有差距了,可以看計算機結構 09/15 11:37
2F:→ s4300026: 要測的時候,記得砍掉switch case 09/15 12:13
3F:推 chuegou: 看編譯器優化成怎樣吧 09/15 12:23
4F:→ enonrick: 把asm dump 出來就知道啦 09/15 12:26
5F:推 TianBonBon: 看編譯出來的組語和執行的平台 09/15 12:27
6F:→ TianBonBon: 這有機會被優化到編譯時期就把運算結果放到變數c了 09/15 12:29
7F:→ MOONRAKER: 想太多,測也不是這樣測。"閾"是threshold。 09/15 17:58