如何制定绩效基准计划

时间:2011-11-09 15:29:22

标签: performance benchmarking

可能每个人都听说过用于衡量其运行硬件性能的不同软件。我的意思是像Windows Experience Rating,PCMark,Futuremark等。他们正在测量计算机性能的不同方面:CPU和GPU速度,内存访问时间,磁盘访问时间等。

有人可以解释如何开发这样的程序,那么它的结果是否可靠? CPU,内存和磁盘访问速度对我来说是最重要的,GPU和其他东西是没有必要的。我想,那里可能会有很多警告,比如多核CPU或具有动态频率的CPU。或者在HDD的不同扇区中具有不同的读写速度。或者别的什么。

我很欣赏有关不同方面的信息,不一定关于我提到的所有内容,尽管它会很棒。

P.S。如果重要的话,我主要对Windows环境感兴趣。但可能不是。

3 个答案:

答案 0 :(得分:1)

http://www.tomshardware.com/charts/对硬件性能有很好的评价。

这是一个更多的编程论坛(但似乎你知道,因为你的评级)。 https://superuser.com/可能会更多地吸引Windows性能问题。

至于你的问题,基准测试只是计算X操作需要多长时间,或者在X时间内完成多少次X操作。

对于基准测试代码,您可以在代码脚本的顶部设置一个时间戳,在底部设置另一个时间戳并比较两者。差异(通常为毫秒)将是您的脚本的速度。优化代码将减少差异(显然)。

通常硬件也是如此。更好的固件或潜水员可以有所作为。如果您认为硬件不合适,请升级硬件。

很容易看出你是否需要更多内存,只需看看使用了多少内存,如果是75%,那么就可以获得更多内存。 RAM速度也很重要。 DDR3 1200-1600通常很多。

在这个时代,计算机是如此强大,如果你在过去几年内购买了一台新电脑,大多数人都不需要升级。只需保留垃圾程序,并定期运行ccleaner之类的东西。

编辑:关于如何开发CPU基准测试:选择一个需要很长时间的公式或操作,比如计算PI到X的位置,然后记录执行该操作所需的时间。然后,您还必须考虑您的基准测试程序可能无法利用的核心数和其他功能。

答案 1 :(得分:0)

我正在开发一个简单的CPU基准来衡量哪个风扇位置更有效:)

我的第一次尝试只是通过简单的算术(计数器++)来最大化CPU使用率,同时绘制当前CPU速度,温度和每秒计数器增量,但这可能太简单了。

要记住的一件事是,CPU有不同的浮点计算部分和其他东西,有些(全部?)甚至并行执行,所以你可能想要在生成负载时考虑它。 / p>

此外,您可能应考虑物理/逻辑核心,并进行多线程处理。

应该警告用户是否有大量的后台CPU使用情况,结果可能不正常。

答案 2 :(得分:0)

我正在为自己的工作角色做类似的工作。我有一些CPU Integer性能测试,其中一个是Mersenne Prime搜索。这可以加倍作为CPU的负载/稳定性测试。传奇的稳定性测试软件Prime95正在使用Mersenne prime搜索。

我发现这个微软样本网站非常有帮助。我根据自己的需要修改了Mersenne Prime搜索,但它开箱即用:

https://code.msdn.microsoft.com/BigInteger-Multitasking-eb319df1

测试CPU时,你也想测试浮点运算,还没有发现任何有用的东西,但如果我这样做会更新这篇文章。

此处还有一个关于测试RAM的类似问题的有用评论:

Benchmarking RAM performance - UWP and C#