C 语言

关注公众号 jb51net

关闭
首页 > 软件编程 > C 语言 > C++获取逻辑执行毫秒数

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

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

您可能感兴趣的文章:
阅读全文