BTiming¶
定义在头文件 <BUtils/BTiming> 中
概述¶
BTiming 类提供一个最小精度为 1 微秒的计时系统用于记录时间。
公有类型¶
enum | BTimingStatus {CPUTiming, Timing, Stop} |
公有函数¶
BTiming() noexcept |
|
~BTiming() |
|
void | start() |
void | stop() |
void | startCPUTiming() |
void | stopCPUTiming() |
bool | isActive() |
int64 | time() const |
int64 | CPUTime() const |
详细描述¶
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
::
~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。