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