什么更快? (a + a vs 2 * a and more)

时间:2013-07-10 21:00:02

标签: c++ c performance

在C / C ++中,我想知道哪个更快?

int a;
int b = a + a; // this
int b = 2 * a; // or this?

另外,数据类型是否重要?那么long呢?我们加起来的次数怎么样?

(怎么样......)

long a;
long b = a + a + a +a;
long b = 4 *a;

1 个答案:

答案 0 :(得分:9)

相信您的优化编译器。它知道如何以您只能猜测的方式优化特定CPU /架构。没有参考特定的架构,“x比y快吗?”这样的陈述没有任何意义,因为这完全取决于很多因素。

与性能问题一样,测量将比我们提供半知情的观点和猜测更完整地回答问题。