INNER CODE UNIT · C++
duration
AshenvaleZX/ZXEngine · CPPScripts/Debug.cpp:130
auto duration = std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::steady_clock::now() - mTimerStack[--mTimerStackTop]).count();
// 没有用Log,因为Log速度慢一倍,会影响计时,如果有需要写入文件再用Log
// 先拼接再输出,效率比直接用<<高
zOut << (name + " : " + std::to_string(duration) + " ns") << std::endl;
}
void Debug::StartTimer(const std::string& name)
{
mTimerMap[name] = std::chrono::steady_clock::now();
}
void Debug::EndTimer(const std::string& name)
{
auto duration = std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::steady_clock::now() - mTimerMap[name]).count();
zOut << (name + " : " + std::to_string(duration) + " ns") << std::endl;
}