-2
这是代码,我想测量。我会喜欢一些帮助,我是编码新手。我想看看可以随机选择的两个函数之间的执行时间差异。我希望能够测量这2个函数的执行时间,但无法围绕它进行包围
#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
int complex_func (int in)
{
int tmp1 ,i;
float tmp2 , tmp3 ;
for (i =0; i < 4112; i ++)
{
tmp1 = in*in*i;
tmp2 = (in+i)*(in+i)*(in+i);
tmp3 = tmp2/tmp1 ;
}
return tmp3 ;
}
int simple_func (int in)
{
int i,j=in;
for (i =0; i < 921; i ++) j = j+i;
return j;
}
main (int argc , char ** argv)
{
int i,j;
time_t sec;
for (i = 0; i < 350000; i ++)
if ((j = rand()) >0x3fffffff)
complex_func (j);
else simple_func (j);
}
在此先感谢!
检查'RAND_MAX' – BLUEPIXY
你想要每个循环的执行时间为350000?如果是这样的话,那是很多输出。您需要准确指定您要测量的内容。而且你还有main()中没有捕获的函数的返回值。 –
鉴于'complex_func()'总是表现出未定义的行为,所以性能并不重要。 – EOF