我已经用 ANSI C 编写了一个简单的代码,现在想要执行一些测量。
我测量了执行时间(clock()
在 Windows 操作系统和 Linux 操作系统下使用函数clock_gettime()
)。
现在我想计算一下,在运行我的这段代码时,我的 CPU 执行了多少 IPS(每秒指令)。(是的,我知道 MIPS 是一个可怜的参数,但即使这样,我也想计算一下)
也很高兴看到执行例如添加 3 个元素和我执行的其他操作需要多少 CPI(每条指令周期)。谷歌说如何使用计算器计算 MIPS 的数量,关于我的 CPU 的一些知识(它的时钟速度),简单的数学和一堆其他参数(如 CPI),但没有说如何获得这些!
我还没有找到任何 C/C++ 函数可以返回执行例如访问局部变量所需的时钟周期数。查找 Intel/AMD 的现代 CPU 参考手册也是一个问题,其中包含有关操作码和其他信息的信息。
我手动计算过,我的 ANSI C 代码需要 37 次操作,但这些是 ANSI C 操作,而不是 CPU 指令。