[问题] 关于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