2014-09-01 132 views
-7

这是两个代码哪些代码执行速度更快?

int d; 
d=0; 
d=a+b; 
print d+c+e; 
code 2: 
print a+b+c+e; 

我想C语言编程。 我在执行此代码时有些疑惑 哪些代码执行速度更快?并使用更少的内存?

+0

最好的办法是看看生成的程序集,但是在速度和内存使用方面(很可能两者都使用寄存器和堆栈),它的可能性完全可以忽略不计。你的程序中几乎可以肯定有更大的问题需要担心! – Rup 2014-09-01 16:41:38

+0

我觉得这个程序无法运行。 – BLUEPIXY 2014-09-01 16:42:22

+0

什么是'abce' – TerryG 2014-09-01 17:05:17

回答

1

鉴于你已经张贴,

例1

int d; 
d=0; 
d=a+b; 
/* print d+c+e;*/ 
printf("%i\n", d+c+e); 

例2

/* print a+b+c+e; */ 
printf("%i\n", a+b+c+e); 

如果您的编译器优化d示例1它们是等价的,哪个更快更棘手。另一方面,如果你的编译器不能确定d=0被丢弃(它可能不会),那么它就不能确定d确实是const int d = a+b;,并且这些例子将不等同于。实例2(稍微)更快。