【发布时间】:2016-04-22 02:58:39
【问题描述】:
我有一个用 C++ 编写的多任务程序,我想以亚秒为单位计算每个线程的 CPU 使用率(可能是 100 毫秒) 你可能知道 /proc/stat 或类似的东西在那个时间分辨率上没有准确性。
我想知道有没有办法计算汇编或 C/C++ 中每个线程消耗的时钟周期?
【问题讨论】:
-
“准确”是不可能的
-
那么,你怎么知道在哪个线程中花费了多少时间,以及在其他线程中花费了多少时间(例如,在“让我们解开刚刚进来的这个网络数据包”或“让我们将操作系统刚刚释放的页面的内存归零”等)
-
你想用这些信息做什么?
-
时钟周期或每条指令的时钟计数取决于处理器。您使用的是哪个处理器?
标签: c++ multithreading assembly inline-assembly