[問題] 相同型態的變數但值不同,運算量的差異?

看板C_and_CPP (C/C++)作者 (SHENG)時間8年前 (2017/09/15 11:34), 編輯推噓2(205)
留言7則, 6人參與, 最新討論串1/2 (看更多)
編譯器(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://www.ptt.cc/bbs/C_and_CPP/M.1505446465.A.013.html

09/15 11:37, , 1F
算個五百萬次就確定有沒有差距了,可以看計算機結構
09/15 11:37, 1F

09/15 12:13, , 2F
要測的時候,記得砍掉switch case
09/15 12:13, 2F

09/15 12:23, , 3F
看編譯器優化成怎樣吧
09/15 12:23, 3F

09/15 12:26, , 4F
把asm dump 出來就知道啦
09/15 12:26, 4F

09/15 12:27, , 5F
看編譯出來的組語和執行的平台
09/15 12:27, 5F

09/15 12:29, , 6F
這有機會被優化到編譯時期就把運算結果放到變數c了
09/15 12:29, 6F

09/15 17:58, , 7F
想太多,測也不是這樣測。"閾"是threshold。
09/15 17:58, 7F
文章代碼(AID): #1Pkqf10J (C_and_CPP)
文章代碼(AID): #1Pkqf10J (C_and_CPP)