C++實現統計代碼運行時間計時器的簡單實例
一、前言
這里記下從網上找到的一些自己比較常用的C++計時代碼
二、Linux下精確至毫秒
#include <sys/time.h> #include <iostream> #include <time.h> double get_wall_time() { struct timeval time ; if (gettimeofday(&time,NULL)){ return 0; } return (double)time.tv_sec + (double)time.tv_usec * .000001; } int main() { unsigned int t = 0; double start_time = get_wall_time() while(t++<10e+6); double end_time = get_wall_time() std::cout<<"循環耗時為:"<<end_time-start_time<<"ms"; return 0; } 三、Windows下精確至毫秒
#include <windows.h> #include <iostream> int main() { DWORD start, stop; unsigned int t = 0; start = GetTickCount(); while (t++ < 10e+6); stop = GetTickCount(); printf("time: %lld ms/n", stop - start); return 0; } 試驗中,發現貌似getTickCount函數會有10幾毫秒的誤差, 主站蜘蛛池模板: 平果县| 日喀则市| 武功县| 望奎县| 天台县| 南江县| 光泽县| 松原市| 凤台县| 黄浦区| 曲周县| 呼和浩特市| 宣威市| 黄龙县| 石门县| 台山市| 恩平市| 松原市| 新乐市| 阆中市| 农安县| 固阳县| 安乡县| 开江县| 涿州市| 阜阳市| 华坪县| 西畴县| 方山县| 伊金霍洛旗| 绥宁县| 湖南省| 云南省| 山丹县| 嘉黎县| 饶平县| 元朗区| 宜春市| 工布江达县| 玉山县| 北碚区|