當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ clock()用法及代碼示例


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。