c++ - 在 Linux 中使用硬件性能计数器

标签 c++ c linux multithreading multicore

我想使用 Intel 和 AMD x86_64 多核处理器附带的硬件性能计数器来计算程序停用的存储数量。我希望每个线程分别计算其退休商店。可以做到吗?如果是这样,在 C/C++ 中如何?

最佳答案

如果您想在内部计算程序某些部分的硬件事件(无需启动任何第 3 方工具),您可以使用 Perfctr 或 PAPI。

Perfctr 快速入门:http://www.ale.csce.kyushu-u.ac.jp/~satoshi/how_to_use_perfctr.htm

PAPI 主页:http://icl.cs.utk.edu/papi/

PerfSuite 好文档:http://perfsuite.ncsa.illinois.edu/publications/LJ135/x27.html

如果可以在外部执行此操作,现代 Linux 有一个 perf 命令。

性能维基:https://perf.wiki.kernel.org/index.php/Main_Page

关于c++ - 在 Linux 中使用硬件性能计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7107825/

相关文章:

c - 在 GCC 中实现编译时只读函数指针表

c - 即使存在逻辑与,这个尾递归是否存在?

linux - bash 中的替换顺序

linux - 连接 Postgres Db : Server Certificate Does Not Match Host Name 时出错

c++ - 使用 PUGIXML 反复保存大型 XML 文件需要花费大量时间

c++ - 有没有一种方法可以在没有虚拟的情况下使用基类指针调用派生类函数

c++ - 私有(private)类名缩写技巧?

c - 第二次机会页面替换

c++ - 公共(public)父类型 ifstream 和 ofstream

linux - 如何在 IntelliJ/WebStorm/PhpStorm 中从 "external tools"运行 sudo 脚本?