c++中常用的计算程序运行时间的方法
2015-08-25 12:33
731 查看
方法1:
计时函数是clock(),而与其相关的数据类型是clock_t(头文件是time.h)。函数定义原型为:clock_t clock(void);
这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock)。
clock_t是一个长整形数。另外在time.h文件中,还定义了一个常量CLOCKS_PER_SEC,它用来表示一秒钟会有多少个时钟计时单元,因此,我们就可以使用公式clock()/CLOCKS_PER_SEC来计算一个进程自身的运行时间。
给个例子:
方法2:
使用GetTickCount()函数,头文件是<windows.h>,GetTickCount函数返回从系统运行到现在所经历的时间(类型是DWORD),单位是毫秒,因为DWORD表示范围的限制,所以系统的运行时间表示不能超过DWORD限制。
给个例子:
方法3:
time_t类,头文件是<ctime>,精确到秒。
给个例子:
计时函数是clock(),而与其相关的数据类型是clock_t(头文件是time.h)。函数定义原型为:clock_t clock(void);
这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock)。
clock_t是一个长整形数。另外在time.h文件中,还定义了一个常量CLOCKS_PER_SEC,它用来表示一秒钟会有多少个时钟计时单元,因此,我们就可以使用公式clock()/CLOCKS_PER_SEC来计算一个进程自身的运行时间。
给个例子:
#include "stdafx.h" #include <time h=""> #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { clock_t start,end; double totaltime; start = clock(); ...//程序主代码 end = clock(); totaltime = (double)(end - start)/CLOCKS_PER_SEC; cout<<"程序运行时间为:"<<totaltime<<"秒!"<<endl; return 0; }
方法2:
使用GetTickCount()函数,头文件是<windows.h>,GetTickCount函数返回从系统运行到现在所经历的时间(类型是DWORD),单位是毫秒,因为DWORD表示范围的限制,所以系统的运行时间表示不能超过DWORD限制。
给个例子:
#include "stdafx.h" #include <windows h=""> //#include <time h=""> #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { DWORD start = GetTickCount(); ...//程序主代码 DWORD end = GetTickCount(); cout<<"程序运行时间为:"<<(end - start)<<"毫秒!"<<endl; return 0; }
方法3:
time_t类,头文件是<ctime>,精确到秒。
给个例子:
#include "stdafx.h" //#include <windows h=""> //#include <time h=""> #include <ctime> #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { time_t start = 0,end = 0; time(&start); ...//程序主代码 time(&end); cout<<"程序运行时间为:"<<(end - start)<<"秒!"<<endl; return 0; }
相关文章推荐
- C++ MFC 使用低级键盘钩子 获取键值 (WH_KEYBOARD_LL)
- c语言详解sizeof
- C++ 函数指针的定义方法及使用
- 各种各样_cast
- C++ 定时发送文件到服务器
- 专业的C/C++头文件写法 (
- 详解C语言中strpbrk()函数的用法
- C/C++的输出
- Duanxx的C++得知:计算位数
- C++ 指针初识
- 与ASCII码相关的C语言字符串操作函数
- C++11中的类类型转换
- ActiveX 控件注册的几种方法 VC++编写
- c++ int转string int转wstring
- C语言中的strdup()函数和其与strcpy()函数的区别
- C语言操作大于2G的文件
- C语言中计算字符串长度与分割字符串的方法
- C++习题记录-牛客网
- Visual Studio 2008 查找耗时函数 C++ Profiler 性能 优化
- VC++ socket编程实例