我在解析XML文件的小型Windows桌面上開發了一個Java應用程序。我遇到了一個非常有趣的觀察,我很好奇。Java應用程序Windows與Mac OS X
我爲我的應用程序生成了一個可執行的jar文件,並將它運行在功能非常強大的Windows Server計算機上。它有2個物理Xeon處理器,每個8個內核主頻爲2.7 GHz,50GB RAM和7200 RPM硬盤。當我開始我的應用程序時,機器閒置,我很確定沒有其他應用程序與我共享該機器。
後來,我在我的Macbook Pro上運行可執行文件,以便查看其行爲。我個人的機器是Core i7,主頻爲2.2 GHz,帶有4 GB RAM和5400轉硬盤。令人驚訝的是,該應用程序在我個人較弱的機器上快了兩倍。這是相同的輸入\相同的輸出。沒有IO但是爲了讀取XML來解析它們,我在終端上沒有打印任何內容,但是開始時間\結束時間&最終結果是一行
我非常好奇理解這種戲劇性能差異背後的原因。特別是來自硬件層面上較弱的機器。它是以更好的方式處理硬件的操作系統嗎?它是JVM工作更好嗎?
你好Piotr,你確定這一點。它會導致如此戲劇性的性能差異,並使功能更強大的機器性能更好。你認爲我應該用Linux發行版來取代Windows嗎?我投票贊成非常有益的信息。謝謝 – mowienay
首先 - 檢查Windows機器上HotSpot編譯器的類型。表現差異可能還有其他原因,但這是我頭頂的東西。 –
我確實喜歡你所說的話。使用服務器命令,它在我的桌面Windows機器上工作,就像我的個人MAC機器一樣。這是非常非常有益的建議。我很高興看到Server強大的機器上的性能。再次感謝你 – mowienay