对于循环优化?如果是否vs

时间:2019-04-12 15:09:14

标签: c for-loop

在编码时,我只是好奇两个代码之间在性能方面是否存在差异。

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");


是否存在性能差异?如果存在差异,哪些因素会导致差异?

1 个答案:

答案 0 :(得分:3)

没有足够的声誉来发表评论,因此将其写为答案。

@Carcigenicate由于两个程序的输出不同,因此肯定不会针对相同的机器代码进行优化。

我怀疑第二个版本的速度较慢,因为索引变量对内存的“写入”访问次数是两倍(而对“读取”访问次数则更多)。