使用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语言中各种类型的指针的概念

    简单总结C语言中各种类型的指针的概念

    这篇文章主要简单总结了C语言中各种类型的指针的概念,指针可以说是C语言本身所具有的最大特性,平时根据不同使用场合习惯地将其简单分类,需要的朋友可以参考下
    2016-03-03
  • C++多线程编程时的数据保护

    C++多线程编程时的数据保护

    这篇文章主要介绍了C++多线程编程时的数据保护,作者针对C++11版本中的新特性做出了一些解说,需要的朋友可以参考下
    2015-07-07
  • C语言中的while循环语句示例详解

    C语言中的while循环语句示例详解

    这篇文章主要介绍了C语言中的while循环语句,主要包括while循环的基本信息及常见问题,本文结合实例代码给大家讲解的非常详细,需要的朋友可以参考下
    2023-06-06
  • C++中实现队列类链式存储与栈类链式存储的代码示例

    C++中实现队列类链式存储与栈类链式存储的代码示例

    这篇文章主要介绍了C++中实现队列类链式存储与栈类链式存储的代码示例,通过注释来说明,直接上代码,简单粗暴XD 需要的朋友可以参考下
    2016-03-03
  • C++生成格式化的标准字符串实例代码

    C++生成格式化的标准字符串实例代码

    这篇文章主要给大家介绍了关于C++生成格式化的标准字符串的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用C++具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • C++深入探究引用的使用

    C++深入探究引用的使用

    引用是C++一个很重要的特性,顾名思义是某一个变量或对象的别名,对引用的操作与对其所绑定的变量或对象的操作完全等价,这篇文章主要给大家总结介绍了C++中引用的相关知识点,需要的朋友可以参考下
    2022-05-05
  • C++中的整型

    C++中的整型

    这篇文章我们来聊聊C++中的整型,整型即整数,与小数对应。许多语言只能表示一种整型(如Python),而在C++当中根据整数的范围提供了好几种不同的整型,下面文章我们就来看看具体是哪几种,需要的朋友也可以参考一下
    2021-11-11
  • Matlab实现三维投影绘制的示例代码

    Matlab实现三维投影绘制的示例代码

    这篇文章系小编为大家带来了一个三维投影绘制函数(三视图绘制),函数支持三维曲线、曲面、三维多边形、参数方程曲线、参数方程曲面的投影绘制,需要的可以参考一下
    2022-08-08
  • C++队列用法实例

    C++队列用法实例

    这篇文章主要介绍了C++队列用法,实例分析了C++实现队列的入队、出队、读取与判断等相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • C++解析ini文件的实现方法

    C++解析ini文件的实现方法

    在C++编程中,有时我们需要处理配置文件来存储应用程序的设置和参数,而INI文件是一种常见的选择,这篇文章主要给大家介绍了关于C++解析ini文件的实现方法,需要的朋友可以参考下
    2024-08-08

最新评论