如何获取线程的CPU指令数?

问题描述 投票:1回答:1

[我知道getrusage()可以提供每个线程的CPU利用率,但是仅占用CPU时间。有什么方法可以获取已执行的CPU指令数量?还是花费在CPU上的周期数?基本上,我需要找到线程在CPU上花费多少的可重复度量。有什么建议可以在C语言中执行此操作?

更新(回复评论):

  • 理想情况下,我需要以独立于平台的方式使用它,但是Linux将是最有用的。
  • 可再现性对我来说是最重要的,即使这意味着实际的运行时间可能会略有不同。
  • 我知道vTune(并且已经使用过),但是我想在代码运行时以编程方式获取此信息。因此vTune以及Craig Estey链接的帖子中的建议都已发布。
  • 我确实看过Intel Intrinsics Guide,但没发现有用的东西...
c cpu-usage instructions
1个回答
0
投票

看看Google的细丝引擎。他们正是这样做的。看他们的探查器。https://github.com/google/filament/blob/master/libs/utils/src/Profiler.cpp您也可以从此链接获取更多信息:https://www.youtube.com/watch?v=Lcq_fzet9Iw

© www.soinside.com 2019 - 2024. All rights reserved.