使用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++获取逻辑执行毫秒数的资料请关注脚本之家其它相关文章!

相关文章

  • Matlab利用遗传算法GA求解非连续函数问题详解

    Matlab利用遗传算法GA求解非连续函数问题详解

    遗传算法起源于对生物系统所进行的计算机模拟研究。其本质是一种高效、并行、全局搜索的方法,能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜索过程以求得最佳解。本文将利用其求解非连续函数问题,需要的可以参考一下
    2022-09-09
  • C++中Boost的智能指针scoped_ptr

    C++中Boost的智能指针scoped_ptr

    这篇文章介绍了C++中Boost的智能指针scoped_ptr,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • C语言中的柔性数组你了解吗

    C语言中的柔性数组你了解吗

    这篇文章主要为大家详细介绍了C99中的新语法——柔性数组的使用以及优缺点,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的可以了解一下
    2023-04-04
  • vscode终端中打不开conda虚拟包管理的解决

    vscode终端中打不开conda虚拟包管理的解决

    本文主要介绍了vscode终端中打不开conda虚拟包管理的解决,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-09-09
  • 纯C语言:检索与周游广度深度遍历源码分享

    纯C语言:检索与周游广度深度遍历源码分享

    这篇文章主要介绍了检索与周游广度深度遍历源码,有需要的朋友可以参考一下
    2014-01-01
  • 一文搞懂C++中的运算符重载

    一文搞懂C++中的运算符重载

    这篇文章主要为大家详细介绍了C++中的运算符重载的相关资料,文中的示例代码讲解详细,对我们学习C++有一定帮助,需要的可以参考一下
    2022-09-09
  • C语言中注释与注意事项的深入讲解

    C语言中注释与注意事项的深入讲解

    在编写C语言源代码时,应该多使用注释,这样有助于对代码的理解,这篇文章主要给大家介绍了关于C语言中注释与注意事项的相关资料,需要的朋友可以参考下
    2021-09-09
  • vc中SendMessage自定义消息函数用法实例

    vc中SendMessage自定义消息函数用法实例

    这篇文章主要介绍了vc中SendMessage自定义消息函数用法,以实例实行详细讲述了SendMessage的定义、原理与用法,具有一定的实用价值,需要的朋友可以参考下
    2014-10-10
  • Qt实现线程与定时器的方法

    Qt实现线程与定时器的方法

    本文主要介绍了Qt实现线程与定时器的方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • c语言多线程编程使用示例

    c语言多线程编程使用示例

    这篇文章主要介绍了c语言多线程编程使用示例,需要的朋友可以参考下
    2014-04-04

最新评论