gpt4 book ai didi

c++ - GetTickCount() 用于 int main 中的多个函数

转载 作者:行者123 更新时间:2023-11-28 08:12:11 26 4
gpt4 key购买 nike

我试图在一段非常大的代码中分别使用 GetTickCount() 对多个函数进行计时,以找出瓶颈的确切位置。我可以成功地为整段代码计时。我正在努力解决的问题是我在哪里添加计时功能来测量每个单独功能的时间。我是在声明函数时还是在定义函数时或在调用它们的 main () 内部插入计时器。任何帮助将非常感激。谢谢。

最佳答案

当它们在运行时被调用时,你对它们计时,例如:

int main(int argc, char** argv)
{
...
DWORD start = GetTickCount();
CallAFunction();
DWORD end = GetTickCount();
DWORD elapsed = (end >= start) ? (end - start) : ((MAXDWORD - start) + end);
...
}

衡量代码时序的更好方法是使用分析器,而不是在代码本身中编写逻辑。探查器 Hook 到运行时进程并将自己的代码插入函数本身。然后它不仅可以跟踪函数运行需要多长时间,还可以跟踪它们被调用了多少次、哪些函数调用了哪些函数、记录调用堆栈等。所有这些都无需编写任何额外的代码。

关于c++ - GetTickCount() 用于 int main 中的多个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8752833/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com