Hey*_*nge 11 java multithreading java-7 java-8
我正在通过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).
如果不能做任何事情,我宁愿用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为15.6% 比JDK 8u60更快.
后者证实(对我而言)在我的单元测试中观察到的趋势 - 相同的结果.尽管这些测试可能不是用来评估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]
TOTALSOAPUI: 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]
TOTALSOAPUI: 73'560 [ms] (JMX: 59'172 [ms])
(*):没有时间在我的单元测试中安装Java 7u60
截图