c++ 使用Tic/Toc统计程序运行时间的方法

  • Post author:
  • Post category:其他


Tic/Toc统计程序运行时间的方法在matlab中见过,最近在学习VINS的过程中也见到了,摘抄如下:

#pragma once

#include <ctime>
#include <cstdlib>
#include <chrono>

class TicToc
{
  public:
    TicToc()
    {
        tic();
    }

    void tic()
    {
        start = std::chrono::system_clock::now();
    }

    double toc()
    {
        end = std::chrono::system_clock::now();
        std::chrono::duration<double> elapsed_seconds = end - start;
        return elapsed_seconds.count() * 1000;
    }

  private:
    std::chrono::time_point<std::chrono::system_clock> start, end;
};


深入理解std::chrono的时钟Clock



https://www.cnblogs.com/zhongpan/p/7490657.html


std::chrono是C++11引入的日期时间处理库,其中包含3种时钟:system_clock,steady_clock,high_resolution_clock。

近来需要使用高精度时间,很自然想到使用high_resolution_clock,然而使用后发现并非预期的得到自1970/1/1零点之后的计数,而是一个小得多的数字。

那么这三种时钟有什么区别,用在什么情况下,我们来一探究竟。





版权声明:本文为chengde6896383原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。