2013-03-13 43 views
0

機答:英特爾i5-2400,操作系統是Windows 7企業版64位xeon比i5慢?

機B:英特爾至強-E5620,OS是CentOS的5.9

現在,當我運行Java程序(包括Java版本是1.7)除了產生1000000個隨機數(Math.random)之外什麼都不做。結果是,機器A只佔機器B所花費時間的50%。

我在這裏錯過了什麼嗎?

+1

你可能想要一個比這更微妙的基準。 – 2013-03-13 08:18:01

回答

2

我在這裏錯過了什麼嗎?

是的,你錯過了你完全有兩個不同的操作系統平臺,他們自己的操作系統的java環境(儘管版本匹配),並且想要相信這全都歸功於CPU。在兩個系統上安裝相同的操作系統,然後進行比較,您會更清楚地看到任何硬件性能差異。現在,你在猜測。

+0

是的,也許它是windows jvm VS linux jvm,或者它只是i5&xeon的單核心性能。我只是不確定哪一個是答案。 – 2013-03-13 08:08:33

+0

我同意。這就是爲什麼我建議在兩個硬件上放置相同的軟件設置並縮小它。 – 2013-03-13 08:10:22

2

隨機數的產生很可能只取決於時鐘速度:代碼非常小,適合緩存,幾乎沒有任何內存訪問(它是單核計算)。我不熟悉的Xeon系列的具體情況,但:

你已經30%贊成的i5這裏。

然後,你忘了提及:CentOS是32位還是64位版本?這可能會造成很大的變化。

最後,我想說很難真正比較測試,因爲即使您在兩臺機器上都安裝了完全相同的Java版本,我也會感到驚訝的是,相同的代碼用於Linux和Windows版本。

+0

好Centos是64位。這裏有兩種可能的解釋,一種是CPU的時鐘速度,另一種是jvm VS linux版本的windows版本。 – 2013-03-13 08:07:07