我有一个MS Visual Studio 2005 应用程序解决方案。所有代码都在 C 中。我想测量特定功能执行所需的周期数。是否有任何可用于获取循环计数的 Win32 API?
我已使用 gettimeofday()
获取以微秒为单位的时间,但我想知道消耗的周期数。
最佳答案
Intel 和 AMD 都提供 Windows 库和工具来访问其 CPU 上的性能计数器。这些不仅可以访问循环计数,还可以访问缓存行命中和未命中以及 TLB 刷新计数。 Intel 工具以 VTune 的名称销售,而 AMD 将其称为 CodeAnalyst。
关于profiling - 周期计数测量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49207/