【发布时间】:2010-09-08 09:36:09
【问题描述】:
哪个编译成更快的代码:“ans = n * 3”或“ans = n+(n*2)”?
假设 n 是 int 或 long,并且它在现代 Win32 Intel 机器上运行。
如果涉及一些取消引用,这会有所不同,也就是说,其中哪一个会更快?
长一个; 长 *pn; 长答案; ... *pn = some_number; 答案 = *pn * 3;或者
答案 = *pn+(*pn*2);或者,由于优化编译器在任何情况下都可能考虑到这一点,因此无需担心吗?
【问题讨论】:
标签: c++ c optimization compiler-construction performance