c - 测量进程消耗的 CPU 时钟

标签 c process cpu cpu-cycles

我用 C 编写了一个程序。它是作为研究结果创建的程序。我想计算程序消耗的确切 CPU 周期。确切的循环次数。 知道我怎样才能找到它吗?

最佳答案

valgrind 工具 cachegrind (valgrind --tool=cachegrind) 会给你一个详细的输出,包括执行的指令数,缓存未命中和分支预测未命中。这些可以归结为汇编器的各个行,因此原则上(在了解您的确切架构的情况下)您可以从该输出中得出精确的周期数。

知道由于缓存效应,它会随着执行而改变。

cachegrind tool is here 的文档.

关于c - 测量进程消耗的 CPU 时钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2588310/

相关文章:

linux - 从后台获取用户输入

c - 在 Linux 上执行进程之前获取 pid

javascript - 如何使用 Javascript 测试用户计算机的处理能力?

performance - 什么有更好的性能 : multiplication or division?

c - 如何将指向结构数组的指针传递给函数

c++ - 通过 read 函数而不是 fread 读取标准输出

c++ - 完成一个类型的数据

c - C 中的服务器-客户端 : Weird behaviour when sending bytes

c++ - 玩具 shell 管道不正确

cpu - PCI段(域)与多个主机桥(或根桥)有何关系?