5

正如标题所说,我正在寻找一段代码在不同硬件设置上的近似性能。有什么工具可以做到这一点吗?

我希望通过限制进程可用的资源来运行我的代码并执行测量。我想控制诸如可用总内存以及 cpu 使用率之类的东西,但如果我有更多的粒度会更好。是否有任何工具可以让我模拟不同速度的 RAM、限制 cpu 的速率(比如 X gigaflops)、减慢磁盘读取速度等?

我已经在查看 linux 中的 setrlimit 命令,但我认为它不会让我模拟延迟之类的东西。我考虑过使用虚拟机来运行代码并调整内存和 CPU,但我不确定它是否足够精细。我还考虑了一些事情,比如挂钩一些系统调用并在允许读/写系统调用之前旋转 x 纳秒,但感觉有点笨拙。另一个问题是此代码主要在 Windows 上运行,如果可能的话,最好在 Windows 上执行此操作。

只是为了一些背景,我试图提供一些相当准确的估计,比如不同硬件设置上的运行时间和资源利用率,而不必实际购买、组装和测试所述硬件。

感谢您的任何帮助,您可以提供。

4

1 回答 1

1

If you wish to get very detailed control of every possible part of a machine, use a software emulated machine such as Bochs. Bochs will emulate, in software, an x86 CPU, hard drive, video card, network card, everything.

In order to do what you want to do you would need to build your own version of Bochs with changes to the emulator to control the speed of the different pieces.

于 2012-12-27T10:03:13.540 回答