C++统计微妙级时间消耗(chrono)

有时我们需要统计某段程序运行所消耗的时间,通过C++的chrono库,我们可以轻松实现这一需求,例如,我们求斐波那契数列消耗的时间。

#include 
#include 
#include 
using namespace std;

int fibonacci(int i){
	int result =0 ;
	if(i==1||i==2)
		return 1;
	else{
		result=result+fibonacci(i-1)+fibonacci(i-2);
	}
	return result;
}

int main(){
	int fbnc;
	double cost_time;
	chrono::steady_clock::time_point start,end;
	start=chrono::steady_clock::now();
	fbnc=fibonacci(30);
	end=chrono::steady_clock::now();
	auto duration=chrono::duration_cast<chrono::microseconds>(end-start);
	cost_time=(double)(duration.count())*chrono::microseconds::period::num/chrono::microseconds::period::den;
	cout<<setw(7)<<setfill('0')<<setiosflags(ios::fixed)<<setprecision(6)<<cost_time<<endl;
	return 0;
}

欢迎批评指正

你可能感兴趣的:(c++)