-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