欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

程序优化之条件判断问题

程序员文章站 2022-03-25 17:27:31
...

在写代码想到一个问题,如果在循环条件判断是否成立时,如果该数是一个常数,如10000,就直接判断就可以了。

如果他是一个表达式的值呢,如n/2之类,要不要每次判断都计算一次呢。这样的话,把n/2在循环开始之前就计算出来,

会不会加快计算的速度呢。我们可以利用库<time.h>的clock()函数计算程序运行的时间来判断这个问题。不过记得除以

CLOCKS_PER_SEC这样得到以秒为单位而且它和操作系统相关。

计算出n的值

#include<stdio.h>
#include<time.h>

int main()
{
	long i;
	long n;
	n = 10000000000/2;
	
	for(i=0;i<n;i++)
		n = n+0+0;
	printf("end\n");
	printf("%.2f\n",(double)clock()/CLOCKS_PER_SEC);
	return 0; 
}

所需时间vc6+和dev的时间是

程序优化之条件判断问题


不计算n的值,直接放进循环里面的

程序优化之条件判断问题

没错,你没有看错,反而更快了。这是为什么呢?

相关标签: 汇编 编译器