当前位置:首页 > C++ > 正文内容

C++计算程序运行的时间

admin2年前 (2020-10-23)C++1089

最近在程序中有个读取文件的操作,想知道耗费的时间,查找之后大家都在用C++11中的库chrono,找了个能运行的现成写好的类:链接

代码如下:

#include <iostream>
#include <chrono>

using namespace std;
using namespace std::chrono;

class HightPrecisionTimeStamp
{
public:
    // 刷新当前时间点
    void Update()
    {
        m_begin = high_resolution_clock::now();
    }

    // 获取当前时间秒

    double GetElapsedTimeInSecond()
    {
        return GetElapsedTimeInMicroSec() * 0.000001;
    }

    // 获取时间毫秒

    double GetElapsedTimeInMilliSec()
    {
        return GetElapsedTimeInMicroSec() * 0.001;
    }

    // 获取时间微秒
    long long GetElapsedTimeInMicroSec()
    {
        return duration_cast<microseconds>(high_resolution_clock::now() - m_begin).count();
    }

protected:
    time_point<high_resolution_clock> m_begin; //时间开始
};


int main()
{
    HightPrecisionTimeStamp stopWatch;

    stopWatch.Update();
    
    //----------------------
    //这之间写测试代码
    //----------------------

    cout << stopWatch.GetElapsedTimeInMilliSec();

    std::cin.get();
    return 0;
}


扫描二维码推送至手机访问。

版权声明:本文由lovedm.club发布,如需转载请注明出处。

本文链接:https://lovedm.club/?id=98

分享给朋友:

“C++计算程序运行的时间” 的相关文章

C++ vector 初始化

有几种初始化的方式,直接扔到代码里看了:#include <vector> #include <iostream> #include <algorithm> using namespace std;...

C++读取ASCII格式DEM数据

C++读取ASCII格式DEM数据

要使用OpenGL显示DEM,就把tif的DEM转成了ASCII格式的,用的是ArcMap工具箱里的栅格转ASCII,转出来的格式是这样的:用了6行来描述数据,如下:第一行:数据的列数ncols第二行:数据的行数 nrows第三行:数据左下角的X值xllcorner第四行:数据左下角的Y值yllco...

C++ 函数指针

1、什么是函数指针函数是实现特定功能的程序代码的集合,函数代码在内存中也要占据一段存储空间,这段空间的起始地址称为函数的入口地址。C++规定函数的入口地址为函数的指针,即函数名既代表函数,又是函数的指针(或地址)。C++指向函数的指针变量,定义形式为:返回类型 (*函数指针变量名)(形参列表);可以...

GDAL构建Delaunay三角网

GDAL能创建Delaunay三角网我是没想到的,需要包含头文件gdal_alg.h使用GDALTriangulationCreateDelaunay函数,函数说明在此 ,三个参数:第一个是点的个数,第二三个分别是点的X坐标和点的Y坐标。返回值是GDALTriangulation* 类型的...

C++ 拷贝构造函数

拷贝构造函数是一种特殊的构造函数,它在创建对象时,是使用同一类中之前创建的对象来初始化新创建的对象。通常用于:通过使用另一个同类型的对象来初始化新创建的对象。复制对象把它作为参数传递给函数。复制对象,并从函数返回这个对象。如果在类中没有定义拷贝构造函数,编译器会自行定义一个。如果类带有指针变量,并有...

OpenCV中简单的添加噪声

随机数生成器用到的是C++11中的新方法。以下代码来自OpenCV计算机视觉编程攻略第三版2.2.2节void salt(Mat image, int n) { default_random_engine generator; unifor...