C++中使用clock()函数测试程序时间
来源:互联网 发布:女生风油精滴下体 知乎 编辑:程序博客网 时间:2024/06/08 03:55
转载http://blog.csdn.net/wly_2014/article/details/48475751
http://blog.csdn.net/u012286517/article/details/50331865
一、c++的头文件ctime/time.h中的库函数clock()提供了测试函数运行时间的方法:
1、clock()返回类型为clock_t类型
2、clock_t实际为long 类型, typedef long clock_t
3、clock() 函数,返回从 开启这个程序进程 到 程序中调用clock()函数 时之间的CPU时钟计时单元(clock tick)数(挂钟时间),返回单位是毫秒
4、可以用常量CLOCKS_PER_SEC, 这个常量表示每一秒(per second)有多少个时钟计时单元
实例代码如下:
#include <iostream>
#include <ctime>
using namespace std;
int main(){
clock_t start, end;
start = clock();
//如果函数执行时间少的话,可能最后测出的结果为0,因为现在机子的运行速度很快
for(int j = 0; j < 1000; j++)
for(int i = 0; i < 1000000; i++){
}
end = clock();
cout << (double)(end - start) / CLOCKS_PER_SEC << endl;
return 0;
}
运行结果:2.562
二、高精度时控函数QueryPerformanceFrequency(),QueryPerformanceCounter()
原理:
QueryPerformanceCounter()这个函数返回高精确度性能计数器的值,它可以以微妙为单位计时.但是QueryPerformanceCounter()确切的精确计时的最小单位是与系统有关的,所以,必须要查询系统以得到QueryPerformanceCounter()返回的嘀哒声的频率.
QueryPerformanceFrequency()提供了这个频率值,返回每秒嘀哒声的个数.
计算确切的时间是从第一次调用QueryPerformanceCounter()开始的
假设得到的LARGE_INTEGER为nStartCounter,过一段时间后再次调用该函数结束的,
设得到nStopCounter.
两者之差除以QueryPerformanceFrequency()的频率就是开始到结束之间的秒数.由于计时函数本身要耗费很少的时间,要减去一个很少的时间开销.但一般都把这个开销忽略。
使用方法:
- C++中使用clock()函数测试程序时间
- C++中使用clock()函数测试程序时间
- CCS5.5环境下使用clock()函数测试程序段运行时间
- C语言time.h中clock()函数测程序运行时间
- 计算程序运行时间 C语言 clock()函数
- c语言中统计程序运行时间用clock函数
- C/C++中关于时间的函数 clock()
- oprofile 使用步骤 测试程序中各函数运行时间
- 计算程序运行时间的函数clock()
- C语言time.h中clock()函数的使用
- C语言time.h中clock()函数的使用
- C语言中测试程序运行时间
- C语言中测试程序运行时间
- C语言中测试程序运行时间
- c: stringtoken_s分词函数 ,strftime时间函数,clock计时函数
- C语言 clock() 函数使用心得
- 使用C语言获取程序的执行时间的方法-clock函数
- 用clock函数来记录程序运行时间
- laravel构架下phpunit安装爬坑记录
- HTML打开摄像头,进行拍照上传
- web集群部署(实例大于等于2个),nginx作为中间件时候,后端websocket有时候消息无法传递给客户端
- 通过 hover 来改变 border 颜色大小的时候,标签位置发生移动的问题
- 不玩没用的,双十一搞促销十万人民币送起来
- C++中使用clock()函数测试程序时间
- iOS 一一 frame和Bounds 以及frame和bounds区别
- 20171109Link
- 171108 逆向-SWPU(re200)
- 码农晋升修炼指南,这些方法你要知道
- RecyclerView的极尽升华:BaseRecyclerViewFragment
- IE与非IE浏览器调用PC摄像头拍摄并且上传
- Windows驱动开发之入门篇(一)
- mysql/Java服务端对emoji(utf8mb4编码)的支持有关的问题