几年前,一位朋友创建了一个“基准”(注意:不是基准),我们用它来衡量计算能力的一个原始方面。即计算机计算大数的速度有多快(或者说有多慢)。我们称之为“Hugo 的随机基准”。
http://www.hants.lug.org.uk/wiki/HugoRandomBenchmark
它由以下简单的行组成,可以粘贴到 shell 中以衡量计算能力。
time perl -e 'for($i=0;$i<1e8;$i++) { }'
这很愚蠢,基本上毫无意义,但在我们的 LUG 中流行了一段时间。我们从未想出过一个简单的方法来做同样的事情来测试多核/多线程处理器。如何实现这一点?
我想要一个简单、易于复制/粘贴的脚本,它不依赖于安装许多额外的依赖项。我们倾向于在 Linux/Unix 系统上运行它,因此可以假设某个版本的 Perl(或 Python)可能存在,不一定是额外的 perl 模块/库。
是否有一种简单的方法可以将这项工作划分为任意数量的核心,并且最终仍能获得可靠计算的总运行时间?
答案1
time (perl -e 'for($i=0;$i<1e8;$i++) { }' & perl -e 'for($i=0;$i<1e8;$i++) { }' & wait)
为 2 个以上 CPU 添加更多 perl 命令。