2025-07-23 01:35:14 +08:00
|
|
|
|
#pragma once
|
|
|
|
|
|
#include <string>
|
|
|
|
|
|
#include <thread>
|
|
|
|
|
|
#include <assert.h>
|
|
|
|
|
|
#include <ratio>
|
|
|
|
|
|
#include <chrono>
|
|
|
|
|
|
#include <sstream>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// \brief
|
|
|
|
|
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|
|
|
|
|
class CVrDebugTimer
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CVrDebugTimer(const char* szDesc)
|
|
|
|
|
|
: m_strFunName(szDesc)
|
|
|
|
|
|
{
|
|
|
|
|
|
m_tBegin = std::chrono::high_resolution_clock::now();
|
|
|
|
|
|
m_tRecordTime = m_tBegin;
|
2025-11-19 00:23:09 +08:00
|
|
|
|
printf("===[%s Runtime]===\n", m_strFunName.c_str());
|
2025-07-23 01:35:14 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
~CVrDebugTimer()
|
|
|
|
|
|
{
|
|
|
|
|
|
std::chrono::high_resolution_clock::time_point tCur = std::chrono::high_resolution_clock::now();
|
|
|
|
|
|
std::chrono::duration<double, std::ratio<1, 1000>> duration_ms(tCur - m_tBegin);
|
|
|
|
|
|
|
2025-11-19 00:23:09 +08:00
|
|
|
|
printf("===[%s Runtime %f ms]===\n", m_strFunName.c_str(), duration_ms.count());
|
2025-07-23 01:35:14 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void RecordTime(const char* szDesc)
|
|
|
|
|
|
{
|
|
|
|
|
|
std::chrono::high_resolution_clock::time_point tCur = std::chrono::high_resolution_clock::now();
|
|
|
|
|
|
std::chrono::duration<double, std::ratio<1, 1000>> duration_ms(tCur - m_tRecordTime);
|
|
|
|
|
|
m_tRecordTime = tCur;
|
|
|
|
|
|
|
2025-11-19 00:23:09 +08:00
|
|
|
|
printf("===[%s Runtime %f ms]===\n", szDesc, duration_ms.count());
|
2025-07-23 01:35:14 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
std::string m_strFunName;
|
|
|
|
|
|
std::chrono::high_resolution_clock::time_point m_tBegin;
|
|
|
|
|
|
std::chrono::high_resolution_clock::time_point m_tRecordTime;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// \brief
|
|
|
|
|
|
/// <20><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|
|
|
|
|
#define VRDEBUG_PRINT_TIME(_desc) CVrDebugTimer oFuncDebugTime(_desc)
|