有時我們需要統計某段程序運行所消耗的時間,通過C++的chrono
庫,我們可以輕松實現這一需求,例如,我們求斐波那契數列消耗的時間。
#include <iostream>
#include <chrono>
#include <iomanip>
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;
}
歡迎批評指正