C++统计代码运行时间计时器
来源:互联网 发布:php eclipse 编辑:程序博客网 时间:2024/05/16 09:57
一、前言
这里记下从网上找到的一些自己比较常用的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几毫秒的误差,囧。。。
四、Windows下精确至微秒
//MyTimer.h//#ifndef __MyTimer_H__ #define __MyTimer_H__ #include <windows.h> class MyTimer{private:int _freq;LARGE_INTEGER _begin;LARGE_INTEGER _end;public:long costTime; // 花费的时间(精确到微秒) public:MyTimer(){LARGE_INTEGER tmp;QueryPerformanceFrequency(&tmp);//QueryPerformanceFrequency()作用:返回硬件支持的高精度计数器的频率。 _freq = tmp.QuadPart;costTime = 0;}void Start() // 开始计时 {QueryPerformanceCounter(&_begin);//获得初始值 }void End() // 结束计时 {QueryPerformanceCounter(&_end);//获得终止值 costTime = (long)((_end.QuadPart - _begin.QuadPart) * 1000000 / _freq);}void Reset() // 计时清0 {costTime = 0;}};#endif //main.cpp#include "MyTimer.h"#include <iostream>int main(){MyTimer timer;unsigned int t = 0; timer.Start();while (t++ < 10e+5);timer.End(); std::cout << "耗时为:" << timer.costTime << "us";return 0 ;}
0 0
- C++统计代码运行时间计时器
- 统计程序运行时间 微秒级计时器
- 统计代码运行时间
- 微秒级计时器,用来统计程序运行时间
- 用CPU计时器统计CUDA核函数的运行时间
- C# 代码运行时间统计
- C# 统计代码运行时间
- C++Qt 统计运行时间
- C/C++/Qt 统计运行时间
- C/C++/Qt 统计运行时间
- OpenCV getTickCount统计代码运行时间
- 关于clock()函数统计代码运行时间
- C/C++/Qt软件系统统计运行时间方法详解
- 统计程序运行时间
- CUDA统计运行时间
- java统计运行时间
- c语言测试代码运行时间
- 如何测量C#代码的运行时间
- 设计模式学习笔记--观察者模式
- Web Bookmark
- JavaScript 字符串实用常操纪要
- Android studio 从github check out 报错 SDK location not found
- MFC改变控件位置和大小
- C++统计代码运行时间计时器
- Json对象与Json字符串的转化、JSON字符串与Java对象的转换
- APDU常用指令
- java 判断String变量是否为数字
- baseflight无头模式原理
- Java基础--Java中JSON的处理
- python modf() 函数
- linux initcall机制
- python中的key-value结构的dict和set的key值选择