簡體   English   中英

Java 8性能VS. Java 7

[英]Java 8 performance VS. Java 7

我正在通過JNI使用C ++庫開發一個成像處理Java 7u80應用程序。

由於我願意與Java 8u60 並行執行流 ,我剛剛切換到JDK 8並重新啟動了我的所有單元測試。

Java 8u60 Overall duration: **35'408 [ms]**
Java 7u80 Overall duration: **29'581 [ms]**

在我看來,Java 7比Java 8快17%(相同的代碼,代碼級別分別為7和8)。

  1. 我想知道這樣的結果是否特定於我的應用程序,或者其他人是否已經注意到將Java 7的性能降級為8?
  2. 是否在代碼中進行了特殊的優化以獲得最佳的Java 8?

如果無法做任何事情,那么我寧願使用Java 7而不是8來實現多線程代碼,以保持我已經擁有的Java 7性能。

針對運行resp的WLS 12.1.3啟動了21個SOAPUI(並行)測試。 我的測試環境中有Java 7u51 (*)和Java 8u60

測試結果如下(截圖包含在案例中)。

總結一下: SOAPUI時間只是每次傳遞的SOAPUI執行時間
JMX時間每次傳遞之間的累積 )是我的應用程序關鍵部分的花費時間。
JMX指標是計算時間(我試圖最小化的時間)。 我不會依賴於SOAPUI指標,因為我不知道它是如何精確計算的

根據SOAPUI,JDK 7u51比JDK 8u60快6.7%
根據JMX,JDK 7u51比JDK 8u60快15.6%

后者證實(對我而言)在我的單元測試中觀察到的趨勢 - 相同的結果。 盡管這些測試可能不是用來評估JVM性能的測試,但我認為在我的情況下,最好留在JDK7上,就像我的情況一樣,性能方面很重要。

Java 7
Pass1 SOAPUI: 22'324 [ms] - JMX :16'286 [ms]
Pass2 SOAPUI: 24'129 [ms] - JMX :33'510 [ms]
Pass3 SOAPUI: 22'170 [ms] - JMX :49'923 [ms]
TOTAL SOAPUI: 68'623 [ms] (JMX: 49'923 [ms])

Java 8
Pass1 SOAPUI: 25'150 [ms] - JMX :19'767 [ms]
Pass2 SOAPUI: 24'564 [ms] - JMX :39'702 [ms]
Pass3 SOAPUI: 23'846 [ms] - JMX :59'172 [ms]
SOAPUI: 73'560 [ms] (JMX: 59'172 [ms])

(*):沒有時間在我的單元測試中安裝Java 7u60

截圖

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM