[問題] 關於i++ & i--的執行效能

作者: qazkevin (Linus)   2019-03-01 22:57:08
各位大大好,
想請教各位一般在用for loop時,
我們時常會在執行完一次loop後,將變數做i++ or i
作者: jerryh001   2019-03-01 23:06:00
就加法器的原理來說應該一樣快?
作者: AndCycle (AndCycle)   2019-03-02 00:32:00
只能看編譯結果,開最佳化通常都會幫你做掉,輪不到你想
作者: EricTCartman (阿ㄆㄧㄚˇ)   2019-03-02 10:26:00
你自己不就說要從assembly看了嗎@@之前板上有人做過實驗 編譯器最後結果是一樣快產生的assembly一樣 而且80:20法則 通常系統真正有效能問題的不會在這種地方
作者: FRAXIS (喔喔)   2019-03-02 11:49:00
https://godbolt.org/ 用這個看 assembly然後用 linux perf 去看該 instruction 到底花多少時間還可以用 pmu tool 看一下到底是卡在 CPU 的哪部分
作者: CoNsTaR ((const *))   2019-03-03 10:55:00
推樓上那網站,學組語相關好用
作者: johnjohnlin (嗯?)   2019-03-03 17:12:00
開 optimize 的時候沒差,但是沒有開兩個差很多PS 是 C++ iterator 的情況所以我都習慣寫 ++i
作者: cole945 (躂躂..)   2019-03-04 10:38:00
幫幫大家, 哪一公司部門講出來 XD
作者: suhorng ( )   2019-03-04 11:32:00
難道是想要問說迴圈倒著跑每次會少一個 cmp 嗎...
作者: deangood01 (跨斯歐鵝)   2019-03-07 03:53:00
哪間公司 好奇+1
作者: Killercat (殺人貓™)   2019-03-09 11:12:00
我覺得是不是你記錯面試題目了 通常是問++i跟i++哪個快誒我看到你的note了.... 拍寫那當我沒說 XD另外gcc -S就可以把code編譯成組語了

Links booklink

Contact Us: admin [ a t ] ucptt.com