BTiming

定义在头文件 <BUtils/BTiming> 中

概述

BTiming 类提供一个最小精度为 1 微秒的计时系统用于记录时间。

详细描述

BTiming 类提供一个最小精度为 1 微秒的计时系统用于记录时间。

BTiming 能够以 1 微秒的精度记录 真实时间CPU 时间

1 秒钟计时的例子:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
#include <BUtils/BTiming>
#include <unistd.h>
#include <iostream>

int main() {
    BUtils::BTiming timing;
    BUtils::BTiming CPUTiming;

    timing.start();
    CPUTiming.startCPUTiming();
    sleep(1);
    timing.stop();
    CPUTiming.stopCPUTiming();

    std::cout << "Real time is: " << timing.time() << " us" << std::endl;
    std::cout << "CPU time is: " << CPUTiming.CPUTime() << " us" << std::endl;
}

成员类型文档

enum BTimingStatus
常量 描述
BTiming::CPUTiming 0 代表正在记录 CPU 时间
BTiming::Timing 1 代表正在记录真实时间
BTiming::Stop 2 停止计时

成员函数文档

BTiming::BTiming() noexcept

构造一个 BTiming 对象。

BTiming::~BTiming()

析构一个 BTiming 对象。

void BTiming::start()

开始记录真实时间。如果 startCPUTiming 被调用,则调用此函数不做任何事。

void BTiming::stop()

停止记录真实时间。如果 startCPUTiming 被调用,则调用此函数不做任何事。

void BTiming::startCPUTiming()

开始记录 CPU 时间。如果 start 被调用,则调用此函数不做任何事。

void BTiming::stopCPUTiming()

停止记录 CPU 时间。如果 start 被调用,则调用此函数不做任何事。

bool BTiming::isActive()

如果正在计时则返回真。

int64 BTiming::time() const

以毫秒为单位返回通过 start 和 stop 函数调用记录的真实时间,其他情况下返回 0。

int64 BTiming::CPUTime() const

以毫秒为单位返回通过 startCPUTiming 和 stopCPUTiming 函数调用记录的 CPU 时间,其他情况下返回 0。