一、clock
#include<ctime>
clock_t start,end;
start=clock();
end=clock();
cout<<start<<','<<end<<','<<(double)(end-start)/CLOCKS_PER_SEC<<endl;
统计process时间
精确到0.01s

二、time
#include<ctime>
time_t start,end;
start=time();//time(&start)
end=time();
cout<<start<<','<<end<<','<<difftime(end,start)<<endl;
精确到1s

三、clock_gettime
#include<ctime>
struct timespec start,end;
//struct timespec {
// time_t tv_sec; /* seconds */
// long tv_nsec; /* nanoseconds */
// };
clock_gettime(CLOCK_PROCESS_CPUTIME_ID,&start);
clock_gettime(CLOCK_PROCESS_CPUTIME_ID,&end);
//CLOCK_REALTIME, a system-wide realtime clock.
//CLOCK_PROCESS_CPUTIME_ID, high-resolution timer provided by the CPU for each process.
//CLOCK_THREAD_CPUTIME_ID, high-resolution timer provided by the CPU for each of the threads.
cout<<start.tv_sec<<':'<<start.tv_nsec<<','<<end.tv_sec<<':'<<end.tv_nsec<<','<<end.tv_sec-start.tv_sec
<<':'<<end.tv_nsec-start.tv_nsec<<endl;
精确到1ns
编译需要带 -lrt参数
不适用windows?

四、chrono
#include<chrono>
std::chrono::time_point<std::chrono::system_clock> start, end;
start = std::chrono::system_clock::now();
end = std::chrono::system_clock::now();
cout<<std::chrono::system_clock::to_time_t(start)<<','<<std::chrono::system_clock::to_time_t(end)<<','
<<std::chrono::duration_cast<std::chrono::milliseconds> (end-start).count()<<endl;
//hours,minutes,seconds,milliseconds,microseconds,nanoseconds
//system_clock,steady_clock,high_resolution_clock
c++11标准,编译带 -std=c++0x 参数

c++计时的更多相关文章

  1. 阶段一:用Handler和Message实现计时效果及其中一些疑问

    “阶段一”是指我第一次系统地学习Android开发.这主要是对我的学习过程作个记录. 本来是打算继续做天气预报的优化的,但因为某些原因,我要先把之前做的小应用优化一下.所以今天就插播一下用Handle ...

  2. js计时器,点击开始计时,再点击停止

    点击倒计时开始,点击停止,再次点击又开始,再点停止... <i id=</i>秒 <em onclick="timeOpen();">开始</e ...

  3. C程序运行计时

    在标准的C/C++中最小的时间单位是毫秒ms,下面代码中clock_t是long: 每经过1ms clock()的值就增加1:常量CLOCKS_PER_SEC,它用来表示一秒钟会有多少个时钟计时单元 ...

  4. C#中精确计时的一点收获 【转】

    C#中精确计时的一点收获 [转] 以下所有代码运行环境:Windows 2003, Intel(R) Core(TM) 2 Duo CPU E8400 @  3.00GHz 2.99GHz,2.96G ...

  5. [转]使用Stopwatch类实现高精度计时

    对一段代码计时同查通常有三种方法.最简单就是用DateTime.Now来进行比较了,不过其精度只有3.3毫秒,可以通过DllImport导入QueryPerformanceFrequency和Quer ...

  6. 扩展progress_timer的计时精度

    progress对外输出精度只有小数点后两位(这点可以运行上节程序进行验证),即精确到0.01秒. 我们使用模板技术仿造一个progress_timer编写一个新类:new_progress_time ...

  7. OpenCV从入门到放弃系列之——如何扫描图像、利用查找表和计时

    目的 如何遍历图像中的每一个像素? OpenCV的矩阵值是如何存储的? 如何测试我们所实现算法的性能? 查找表是什么?为什么要用它? 测试用例 颜色空间缩减.具体做法就是:将现有颜色空间值除以某个输入 ...

  8. 实现windows批处理下的计时功能

    有时在执行完一段windows的批处理后,想知道这个过程花费了多少时间,如果是windows下的c代码可以在过程前后分别调用GetTickCount(),然后相减即可得到花费的时间. 但是如果在批处理 ...

  9. js计时事件

    通过在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行,我们称之为计时事件. 1. setTimeout()--暂停指定的时间后执行指定的代码 clearTimeout ()--停止se ...

  10. Linux_arm驱动之按键模拟脉冲实现定时器的精确计时

    /***************************************************************** 内核驱动部分button_ker.c ************** ...

随机推荐

  1. linux下json工具jq

    1.查看json文件 [root@VM-1-10-11 f46c19f56252a74a46fd30026001e62cc5ecadd04bc9a80c47f6fd5f9dc0586b]# pwd / ...

  2. Running Your Application

    在运行你的第一个app前,您先要了解以下文件: 1.AndroidManifest.xml:Android的基本配置信息: <uses-sdk> element:app兼容版本信息: ex ...

  3. 吴裕雄 python 机器学习-DMT(1)

    import numpy as np import operator as op from math import log def createDataSet(): dataSet = [[1, 1, ...

  4. Promise 学习

    参考 https://www.jianshu.com/p/43f948051d65 // Promise里面传入一个函数类型的参数,这个函数类型的参数接收两个参数resolve reject var ...

  5. mysql 分配内存大小配置

    优化 innodb_buffer_pool_size  = 10*1024*1024*1024

  6. Mat取行或列

    Mat dst; dst = FeatureValue.colRange(j,j+).clone(); 直接使用Mat类中成员函数,方法,colRange对应的是列,rowRange对应的是行,从第j ...

  7. C++ STL--queue 的使用方法

    2.queuequeue 模板类的定义在<queue>头文件中.与stack 模板类很相似,queue 模板类也需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是 ...

  8. Java的二分查找

    今天学习了二分查找,虽然代码简单,但还是要有必要,记录一下今天的学习的. public class TestBrinarySeach { public static void main(String[ ...

  9. Android Studio 2.3.3上引入3.0上开发的项目遇到的问题

    dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) debugImplementation project( ...

  10. target=_blank攻击

    [target=_blank攻击] 在<a>标签中加入 rel="noopener noreferrer" 来避免. 参考:https://mathiasbynens. ...