我有一个Java控制台应用程序,它对大量数据(一次大约700 MB )执行里德-所罗门错误校正,只是为了测试性能。该应用程序是多线程的,我可以看到,当运行时,它在所有内核上都有100%的占用率。
在我的笔记本电脑(Intel(R) Core(TM) i7-2670QMCPU@ 2.20GHz,8个虚拟核)上,我可以处理~37.84MB/S。这个CPU基准比较使我认为我可以在亚马逊EC2 G2实例(英特尔(R) Xeon(R) CPU E5-2670 0@ 2.60GHz,8个虚拟核)上获得更好的性能,得分为2.5×更好。
但是,在gave实例上运行应用程序之后,它只提供了42.07MB/S的稍微好的吞吐量。
我会想到架构的改进,更好的时钟,技术上的三年差异,以及它是服务器CPU相对于笔记本CPU的事实会带来更好的性能。
有人能解释一下,如果CPU基准测试的分数不是原始处理速度,那么它真正指的是什么,以及为什么我看到性能有这么小的提高?
发布于 2014-10-30 17:27:44
在比较中,有6个(12个虚拟的)额外的核心,在您的测试中,您有相同数量的核心。
你的速度只提高了7%,完成了11%的工作,对我来说似乎是一个不错的改进。
https://serverfault.com/questions/640926
复制相似问题