在编码时,我只是好奇两个代码之间的性能是否存在差异。
for(int i=0;i<10;i++){
if(i>-1)
printf("Bigger! than -1");
if(i>5)
printf("Bigger! than 5");
}
vs
for(int i=0;i<10;i++)
if(i>-1)
printf("Bigger! than -1");
for(int i=0;i<10;i++)
if(i>5)
printf("Bigger! than 5");
是否存在任何性能差异?如果存在,造成这些差异的因素是什么?
最佳答案
没有足够的声誉来发表评论,因此将此写为答案。
@Carcigenicate 由于两个程序的输出不同,因此它们肯定不会优化为相同的机器代码。
我怀疑第二个版本速度较慢,因为对索引变量的内存的“写入”访问次数是其两倍(以及更多的“读取”访问次数)。
关于c - 对于循环优化?如果如果与如果如果如果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55654663/