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

Jos*_* D. -1 c c++ performance

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

int a;
int b = a + a; // this
int b = 2 * a; // or this?
Run Code Online (Sandbox Code Playgroud)

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

(关于什么...)

long a;
long b = a + a + a +a;
long b = 4 *a;
Run Code Online (Sandbox Code Playgroud)

Gia*_*ian 9

相信你的优化编译器.它知道如何以您只能猜测的方式优化特定CPU /架构.没有参考特定的体系结构,"x比y快吗?"这样的语句没有意义,因为它取决于大量的因素.

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