經過時間計時器,提供高精度的時間測量功能。
更多...
#include <ElapsedTimer.h>
經過時間計時器,提供高精度的時間測量功能。
ElapsedTimer 是一個簡單易用的計時器類別,用於測量程式執行時間或 事件間隔。支援開始計時、重置計時器、查詢經過時間等基本功能, 適用於效能分析、超時檢測和時間管理等應用場景。
- 使用範例:
performSomeOperation();
}
uint64 lastElapsed = timer.
restart();
performAnotherOperation();
const int iterations = 1000;
for (int i = 0; i < iterations; ++i) {
testFunction();
}
uint64 totalTime = timer.
elapsed();
double averageTime = static_cast<double>(totalTime) / iterations;
const uint64 timeout = 5000000;
while (!operationComplete()) {
break;
}
}
uint64 adjustedElapsed = timer.
elapsed();
uint64 result = chainTimer.
start()
performSomeOperation();
if (chainTimer.
elapsed() > 500000) {
}
uint64 previousTime = chainTimer.
restart();
PrintStream & println(void)
印出換行字元。
PrintStream & print(bool b, bool newLine=false)
印出布林值,可選擇是否換行。
static ufm::io::PrintStream & out(void)
獲取系統輸出緩衝區
Definition System.h:127
經過時間計時器,提供高精度的時間測量功能。
Definition ElapsedTimer.h:145
uint64 restart(void)
重設計時器,並回傳重設前的經過時間
uint64 elapsed(void) const
獲取從計時器啟動到現在的經過時間
ElapsedTimer & advanceStartTime(uint64 microseconds)
將計時器的起始時間往後推進指定微秒數
bool hasElapsed(uint64 microseconds) const
判斷計時器是否已經經過指定的微秒數
Definition ElapsedTimer.h:228
ElapsedTimer & start(void)
重置計時器
- 精度說明:
- 時間測量基於系統提供的高精度時鐘
- 內部儲存使用 64 位元整數,支援長時間測量
- 時間單位為微秒 (microseconds)
- advanceStartTime() 方法接受微秒參數以提供精細的時間調整
- 參閱
- ufm::lang::System::microseconds64()
◆ advanceStartTime()
ElapsedTimer & ufm::util::ElapsedTimer::advanceStartTime |
( |
uint64 | microseconds | ) |
|
將計時器的起始時間往後推進指定微秒數
如果加總後超過目前時間,則起始時間將設為當前時間。
- 參數
-
- 傳回值
- ElapsedTimer& 返回自身引用,支援方法鏈接
◆ elapsed()
uint64 ufm::util::ElapsedTimer::elapsed |
( |
void | | ) |
const |
獲取從計時器啟動到現在的經過時間
- 傳回值
- uint64 返回自計時器啟動以來經過的微秒數。
◆ hasElapsed()
bool ufm::util::ElapsedTimer::hasElapsed |
( |
uint64 | microseconds | ) |
const |
|
inline |
判斷計時器是否已經經過指定的微秒數
- 參數
-
- 傳回值
- true 如果已經經過指定的微秒數
-
false 如果尚未經過指定的微秒數
◆ restart()
uint64 ufm::util::ElapsedTimer::restart |
( |
void | | ) |
|
重設計時器,並回傳重設前的經過時間
此方法等同於先呼叫 elapsed(),再呼叫 start()。 常用於需要取得上一次計時週期時長並立即重啟計時的場合。
- 傳回值
- uint64_t 返回本次重設前的經過微秒數。
◆ start()
此類別(class) 文件是由下列檔案中產生: