//测试一段C代码的执行时间
#include <stdio.h> //注意这里头文件有所不同
#include "time.h"
int main() // 主函数的形式有所不同
{
long i = 10000000;
clock_t start, finish;
double duration;
printf( "Time to do %ld empty loops is ", i );
start = clock();
while( i-- ) ;
finish = clock();
duration = (double)(finish - start) / CLOCKS_PER_SEC;
printf( "%f seconds\n", duration );
while(1);
return 0;
}
这是ubuntu系统下的代码:
下面时windows系统下的代码:
// Tes_time.cpp : 定义控制台应用程序的入口点。
//测试一段C代码的执行时间
#include "stdafx.h"
#include "time.h"
nt _tmain(int argc, _TCHAR* argv[])
{long i = 10000000;
clock_t start, finish;
double duration;
printf( "Time to do %ld empty loops is ", i );
start = clock(); while( i-- ) ;
finish = clock();
duration = (double)(finish - start) / CLOCKS_PER_SEC;
printf( "%f seconds\n", duration );while(1);return 0;
}
执行的时间为:
可见ubuntu下的运行时间未必一定比在windows下的要快。注意在这两个系统中需要使用不同的头文件,这是因为window下的是C++的工程。
以下是利用上面的程序在ubuntu系统下测试Retinex算法做卷积操作(FFT和反FTT)的时间,以下是处理三通道8位数据的彩色图像,采用15,80,250三种尺度的卷积所花费的时间(Intel i3-2130 3.4GHz*4 /3.9GB/Ubuntu Kylin15.10 32位):