嵌入式设备linux程序运行,为了确保运行时间,需要做运行速度测试。测试有两种方法,1、通过clock得到当前的tick值,减去运行前的tick值,就可以计算出程序关键部分运行时间。2、通过采用chrono库,也能得到运行时间。
c实现的代码例子:
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
int main( void )
{
long i = 10000000L;
clock_t start,finish;
double duration;
/* 测量一个事件持续的时间*/
printf( "work loops is %ld\n", i );
start = clock();
while( i-- ) ;
finish = clock();
duration = (double)(finish - start) / CLOCKS_PER_SEC;
printf( "time used:%f seconds\n", duration );
exit(0);
}
c++实现的代码:
#include <iostream>
#include <chrono>
int main(void)
{
cout<< "work loops is " <<i<<endl;
chrono::steady_clock::time_point t1 = chrono::steady_clock::now();
while( i-- ) ;
chrono::steady_clock::time_point t2 = chrono::steady_clock::now();
chrono::duration<double> time_used = chrono::duration_cast<chrono::duration<double>>(t2 - t1);
cout << " time cost = " << time_used.count() << " seconds. " << endl;
}