On 6/8/20 10:45 am, Magnus Ihse Bursie wrote:
On 2020-06-08 19:31, Sergey Bylokhov wrote:
One of the reasons why -0s was used from the beginning is the performance of
the client related libraries, especially java2d.
Does anybody run or plan to run performance tests to check that we do not have
performance there?
As Claes say in the bug report, hopefully any potential performance regression
will show up in the general performance testing.
The idea here is, after all, that we will *increase* performance. :-)
But how did you know that the performance will increase?
Is there some specific library/behavior/test that you are worried about that
should show performance regression when we increase the optimization level?
This -0s mode was selected because it shows best or equal performance and also
provides a less size footprint that affects the client/UI code.
I guess at least some graphical tests should be checked for possible
performance regressions, like j2dbench.
BTW there is similar discussion in the "[macos] bring back O2 opt level for
unsafe.cpp" on hotspot-dev@.
/Magnus
On 6/8/20 8:55 am, Magnus Ihse Bursie wrote:
From Jim's bug report:
"Mac OS X should use -O3 optimization level to be consistent with other
platforms and benefit Mac OS X java with the same performance levels as other
platforms.
Mac OS X has used -Os level optimization since management of the platform JDK
was handed over from Apple. This level of optimization was Apple's policy, not
OpenJDK's. The policy was established in a time when memory was tight (I was
there at the time.) Since then other platforms have moved on, making the
decision to target speed over disk space. Specifically, using -O3 level
optimization.
I've personally seen 20-30% improvement in performance in C/C++ applications
using -O3 over -Os. But, of course, the performance team should verify the
affect on the JDK.
A 11% real time improvement can be seen with a rough HelloWord compile/run."
I discussed this with Claes, our performance guru, and he agreed that it is low
risk enough that we can push this for JDK 15.
Bug: https://bugs.openjdk.java.net/browse/JDK-8246751
WebRev: http://cr.openjdk.java.net/~ihse/JDK-8246751-macos-optimize-O3/webrev.01
/Magnus
--
Best regards, Sergey.