Java xeon比i5慢?

Java xeon比i5慢?,java,cpu,Java,Cpu,机器A:Intel i5-2400,操作系统是windows 7 enterprise 64位 机器B:Intel Xeon-E5620,操作系统为CentOS 5.9 现在,当我运行一个java程序(两个java版本都是1.7)时,它只生成1000000个随机数(Math.random)。结果是,机器A只占用机器B所用时间的50% 我是不是遗漏了什么 我是不是遗漏了什么 是的,你没有意识到你有两个完全不同的操作系统平台,有他们自己的操作系统的java环境(尽管版本匹配),并且想相信这一切都是由

机器A:Intel i5-2400,操作系统是windows 7 enterprise 64位

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

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

我是不是遗漏了什么

我是不是遗漏了什么

是的,你没有意识到你有两个完全不同的操作系统平台,有他们自己的操作系统的java环境(尽管版本匹配),并且想相信这一切都是由于CPU。在两个系统上安装相同的操作系统,然后进行比较,您将更清楚地看到任何硬件性能差异。照现在的情况,你在猜

我是不是遗漏了什么


是的,你没有意识到你有两个完全不同的操作系统平台,有他们自己的操作系统的java环境(尽管版本匹配),并且想相信这一切都是由于CPU。在两个系统上安装相同的操作系统,然后进行比较,您将更清楚地看到任何硬件性能差异。正如你所猜测的那样。

随机数的生成很可能只取决于时钟速度:代码非常小,可以放入缓存,几乎没有任何内存访问(而且是单核计算)。我不熟悉Xeon家族的具体情况,但是:

  • :时钟速度2.4 GHz
  • :时钟速度3.1 GHz
你们已经有30%的人支持i5了

然后,您忘了提到:CentOS是32位还是64位版本?这可能会有很大的不同


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

随机数生成很可能只取决于时钟速度:代码非常小,可以放入缓存,几乎没有任何内存访问(而且是单核计算)。我不熟悉Xeon家族的具体情况,但是:

  • :时钟速度2.4 GHz
  • :时钟速度3.1 GHz
你们已经有30%的人支持i5了

然后,您忘了提到:CentOS是32位还是64位版本?这可能会有很大的不同


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

Centos是64位的。这里有两种可能的解释,一种是CPU的时钟速度,另一种是windows版本的jvm和linux版本。Centos是64位的。这里有两种可能的解释,一种是CPU的时钟速度,另一种是windows版本的jvm对linux版本。是的,可能是windows jvm对linux jvm,或者可能只是i5&xeon的单核性能。我只是不确定哪一个是答案,我同意。这就是为什么我建议在两个硬件上安装相同的软件并缩小范围。是的,可能是windows jvm对linux jvm,或者可能只是i5和xeon的单核性能。我只是不确定哪一个是答案,我同意。这就是为什么我建议将相同的软件设置放在两个硬件上,并缩小范围。您可能需要一个更精细的基准测试。您可能需要一个更精细的基准测试。