我無法找到任何答案,所以我想我會問在這裏。使用較慢處理器的Mac上的Java代碼運行速度比在我的Windows計算機上運行得更快?
我有一個帶有Intel(R)Core(TM)i7-4870HQ CPU @ 2.50GHz的MacBook和一臺帶有i7-4790K 4ghz cpu的Windows電腦。
我寫了一些Java代碼,它在兩臺機器上運行6個線程,長時間運行的任務迭代遍歷ArrayList,並且每次都是相同的正常for循環,除非每次ArrayList變得稍微短一點,每次方法運行時,時間自然會變短。但是,在我的MacBook和Windows計算機上運行它時,它們運行代碼需要花費很長時間,我的MacBook在每次花費大約12-13分鐘時間內花費大約1分鐘或更長時間才獲勝運行該方法(在這一點上)。
這兩個cpus都沒有在100%運行,並且兩臺計算機都有大量未使用的RAM。
我希望你能幫助,讓我知道是否有辦法提供更多信息。 :)
在循環中是否有I/O操作,可能取決於不同的操作系統特定的實現?例如,Mac的文件系統可能比Windows更快...... – Fildor
除了遍歷ArrayList,還有一些與Windows計算機上的MySQL數據庫的連接,查詢是用於控制線程間併發的簡單選擇和更新語句。 基本上,循環所做的是將每行與其餘行進行比較,以確保兩行不會進行兩次比較。所以我使用數據庫來確保同一行不會被比較兩次。 –
檢查您的JVM設置是否相同。 –