在编码时,我只是好奇两个代码之间在性能方面是否存在差异。
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");
是否存在性能差异?如果存在差异,哪些因素会导致差异?
答案 0 :(得分:3)
没有足够的声誉来发表评论,因此将其写为答案。
@Carcigenicate由于两个程序的输出不同,因此肯定不会针对相同的机器代码进行优化。
我怀疑第二个版本的速度较慢,因为索引变量对内存的“写入”访问次数是两倍(而对“读取”访问次数则更多)。