至少比i5慢?

时间:2013-03-13 07:51:26

标签: java cpu

<机> A:Intel i5-2400,操作系统是Windows 7企业级64位

机器B:Intel Xeon-E5620,操作系统是CentOS 5.9

现在,当我运行一个java程序(两个java版本都是1.7)时,除了生成1000000个随机数(Math.random)之外什么都不做。结果是,机器A只占机器B占用时间的50%。

我在这里错过了什么吗?

2 个答案:

答案 0 :(得分:2)

  

我在这里错过了什么吗?

是的,您错过了您完全拥有两个不同的操作系统平台,并拥有适用于该操作系统的自己的Java环境(尽管版本匹配),并且想要相信这一切都归功于CPU。在两个系统上安装相同的操作系统,然后进行比较,您将更清楚地看到任何硬件性能差异。就像你猜的那样。

答案 1 :(得分:2)

随机数生成很可能仅取决于时钟速度:代码非常小,它适合缓存,几乎没有任何内存访问(并且它是单核计算)。我不熟悉Xeon家族的特殊性,但是:

你已经有30%赞成i5了。

然后,你忘了提到:CentOS是32位还是64位?这可能会产生很大的不同。

最后,我要说真的很难比较测试,因为即使你在两台机器上安装了完全相同的Java版本,我也会惊讶于Linux和Windows使用了相同的代码版本