一些傳統的編譯器,在編譯時就會給出基本的程式跑的時間,有的ide甚至每次跑都會給出時間(如vc6.0)非常方便。但現在一些環境(如vs)就沒有這個功能了,對一些追求執行時間的acmer們很不方便,這裡記錄幾種方式自己進行處理。
#include
#include
int main()
dword end_time=gettickcount();
cout
<<"the run time is:"
<<(end_time-start_time)<<"ms!"
return
0;}
#include
#include
int main()
clock_t end_time=clock();
cout
<< "running time is: "
<(end_time-start_time)/clocks_per_sec*1000
<<"ms"
return
0;}
#include
using
namespace
std;
int main()
for(int i= 0; i<100000; i++ )
} //獲取**結束時cpu內部計數器的值,並減去初值
__asm
//把兩個計數器值之差放在乙個64位的整形變數中
//先把高32位左移32位放在64的整形變數中,然後再加上低32位
__int64 timer =(numhigh<<32) + numlow;
//輸出**段執行的時鐘週期數
//以頻率1.1gcpu為例,如果換計算機把其中的1.1改乘其它即可,因為相信大家的cpu都應該在1g以上 ^_^
cout
<< (double) (timer /1.1/1000000000) << endl;
return
0;
}
計算程式執行時間
在長時間計算程式執行時間時,可以使用clock函式。clock比較通用,精度並不是特別的高,大約是10ms。但是對於長時間的計算的話,還是可以使用的。以下是一段示例程式,將幫助你理解 include stdio.h include memory.h include time.h define siz...
程式執行時間計算
int sum int n 分析 宣告不計時間,第一句,第四句各占用乙個時間單位。第三句每執行一次占用四個時間單位,兩次乘法,一次加法,一次賦值。而執行n次共占用4n個時間單位。第二行初始化i,乙個時間單位 測試i n,n 1個時間單位 i n個時間單位 總共2n 2。忽略呼叫,返回值的開銷,以上總...
計算程式執行時間
在編寫完程式後,通常都會對程式進行效能測試,比較常用的方法就是計算完成某個任務所花費的時間。system類提供了獲得當前時間的方法,但是其單位是毫秒,閱讀不方便。本例項將其轉換成方便的閱讀格式。例項執行效果如圖 system類包含一些有用的類字段和方法,它不能被例項化。在 system 類提供的設施...