C++ 中的clock() 函數返回程序消耗的近似處理器時間。
為了計算處理器時間,使用對clock() 的兩次不同調用返回的值之間的差異,一個在程序開始時,另一個在程序結束時。要將值轉換為秒,需要除以宏CLOCKS_PER_SEC。
clock() 時間可能會比實際的掛鍾快或慢。這取決於操作係統如何為進程分配資源。
如果處理器被其他進程共享,clock() 時間可能會比掛鍾的時間提前。而如果當前進程在多線程係統中執行,clock() 時間可能會比掛鍾快。
clock()原型
clock_t clock();
它在<ctime> 頭文件中定義。
參數:
- None
返回:
- 成功後,clock() 函數返回程序到現在為止使用的處理器時間。
- 失敗時,它返回 -1 被強製轉換為類型
clock_t
。
示例:clock() 函數的工作原理
#include <iostream>
#include <ctime>
#include <cmath>
using namespace std;
int main ()
{
float x,y;
clock_t time_req;
// Using pow function
time_req = clock();
for(int i=0; i<100000; i++)
{
y = log(pow(i,5));
}
time_req = clock() - time_req;
cout << "Using pow function, it took " << (float)time_req/CLOCKS_PER_SEC << " seconds" << endl;
// Without pow function
time_req = clock();
for(int i=0; i<100000; i++)
{
y = log(i*i*i*i*i);
}
time_req = clock()- time_req;
cout << "Without using pow function, it took " << (float)time_req/CLOCKS_PER_SEC << " seconds" << endl;
return 0;
}
運行程序時,輸出將是:
Using pow function, it took 0.014743 seconds Without using pow function, it took 0.001357 seconds
相關用法
- C++ clock()用法及代碼示例
- C++ clog用法及代碼示例
- C++ clearerr()用法及代碼示例
- C++ count()用法及代碼示例
- C++ copy_n()用法及代碼示例
- C++ complex cosh()用法及代碼示例
- C++ copy()用法及代碼示例
- C++ cbrt()用法及代碼示例
- C++ c32rtomb()用法及代碼示例
- C++ count_if()用法及代碼示例
- C++ c16rtomb()用法及代碼示例
- C++ cin用法及代碼示例
- C++ ctime()用法及代碼示例
- C++ copy_backward()用法及代碼示例
- C++ cosh()用法及代碼示例
- C++ cout用法及代碼示例
- C++ calloc()用法及代碼示例
- C++ cos()用法及代碼示例
- C++ copysign()用法及代碼示例
- C++ cmath abs()用法及代碼示例
注:本文由純淨天空篩選整理自 C++ clock()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。