有时我们需要统计某段程序运行所消耗的时间,通过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;
}
欢迎批评指正