使用C++获取逻辑执行毫秒数的方法

 更新时间:2024年02月05日 11:05:46   作者:llxtxwd  
这篇文章主要为大家详细介绍了如何使用C++获取逻辑执行毫秒数的方法,文中借助c++11提供的steady_clock,实现了精确获取逻辑执行时间的方法,需要的可以参考下

借助c++11提供的steady_clock,实现了精确获取逻辑执行时间的方法,原理:当前时间 - 开始时间。

工具类文件Timer.h:

#pragma once
#include <chrono>

using namespace std::chrono;

// 记录执行代码消耗时间
class Timer
{
public:
    Timer() :m_begin(steady_clock::now()) {}; // 初始化列表
    void reset() { m_begin = steady_clock::now(); }; // 重置当前时间
    // 默认输出毫秒,如果函数逻辑简单建议使用微秒
    long long cost() const 
    {
        return duration_cast<std::chrono::milliseconds>(steady_clock::now() - m_begin).count();
    }
    // 微秒
    long long cost_micro() const
    {
        return duration_cast<std::chrono::microseconds>(steady_clock::now() - m_begin).count();
    }
    // 秒
    long long cost_seconds() const
    {
        return duration_cast<std::chrono::seconds>(steady_clock::now() - m_begin).count();
    }
private:
    time_point<steady_clock> m_begin;
};

包含工具头文件就可以使用了:

	#include"Timer.h"
	
    Timer timer; // 构造Timer对象,同时记录当前时间
    Case1(); // 需要获取执行时间的逻辑
    cout << "cost1 = "<< timer.cost(); // 得出执行时间

    timer.reset(); // 重置初始时间
    Case2(); // 另一个需要获取执行时间的逻辑
    cout << "cost2 = "<< timer.cost(); // 得出执行时间

以上就是使用C++获取逻辑执行毫秒数的方法的详细内容,更多关于C++获取逻辑执行毫秒数的资料请关注脚本之家其它相关文章!

相关文章

  • 浅析c#中如何在form的webbrowser控件中获得鼠标坐标

    浅析c#中如何在form的webbrowser控件中获得鼠标坐标

    以下是对c#中如何在form的webbrowser控件中获得鼠标坐标的实现方法进行了详细的分析介绍,需要的朋友可以参考下
    2013-07-07
  • C++实现广度优先搜索实例

    C++实现广度优先搜索实例

    这篇文章主要介绍了C++实现广度优先搜索,对于C++程序员来说非常有借鉴价值,需要的朋友可以参考下
    2014-08-08
  • C++实现简易贪吃蛇游戏

    C++实现简易贪吃蛇游戏

    这篇文章主要为大家详细介绍了C++实现简易贪吃蛇游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • 标准C++类string的Copy-On-Write技术

    标准C++类string的Copy-On-Write技术

    这里,我想从C++类或是设计模式的角度为各位揭开Copy-On-Write技术在string中实现的面纱,以供各位在用C++进行类库设计时做一点参考
    2013-11-11
  • C++友元(Friend)用法实例简介

    C++友元(Friend)用法实例简介

    这篇文章主要介绍了C++友元(Friend)用法,对于C++的学习来说有很好的参考价值,需要的朋友可以参考下
    2014-08-08
  • OpenCV3实现车牌识别(C++版)

    OpenCV3实现车牌识别(C++版)

    这篇文章主要为大家详细介绍了OpenCV3实现车牌识别功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • C++浅析内存分区模型概念与示例

    C++浅析内存分区模型概念与示例

    在了解内存分区之前,我们先来聊一聊为什么要进行内存分区。在进行了内存分区之后,在不同的区域存放的数据,会有不同的生命周期,从而会让程序员的编程变得更加灵活
    2022-09-09
  • C语言的结构体你了解吗

    C语言的结构体你了解吗

    这篇文章主要为大家详细介绍了C语言的结构体,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • C++超详细讲解逻辑操作符

    C++超详细讲解逻辑操作符

    在C语言中,逻辑运算符有&&、||、!;&&表示“与”的意思,需要两端的表达式的值都为true,该式的值才为true。||表示“或”的意思,两端的表达式的值只要有一端为true,该式的值就为true。!表示“非”的意思,将该式的真值换成相反的真值,即false和true互换
    2022-06-06
  • c语言中的移位运算符

    c语言中的移位运算符

    这篇文章主要介绍了c语言中的移位运算符,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05

最新评论