C++或C下统计耗时常用语法
一直在用统计耗时,觉得应该总结一下,如下是兼容window和Linux的统计耗时代码。
编译的时候一定要加上g++选项的-lrt
#include <time.h>
#ifdef WIN32
#include <ctime>
#include <Windows.h>
#endif // !WIN32
long speed = 0;
#ifdef WIN32
clock_t start, end;
start = clock();
#else
struct timespec start, end;
clock_gettime(0, &start);
#endif // !WIN32
#ifdef WIN32
end = clock();
speed = (long)(end - start) / (CLOCKS_PER_SEC * 1.0) * 1000;
#else
clock_gettime(0, &end);
speed = (long) (end.tv_sec - start.tv_sec) * 1000 + (end.tv_nsec - start.tv_nsec) / 1000000;
#endif // !WIN32
if (is_print) {
std::cout << "time= " << speed << " ms " << result << std::endl;
}