測試一段C程式碼的執行時間(windows系統和ubuntu系統)
阿新 • • 發佈:2019-02-19
//測試一段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位):