Integrated: 8270321: Startup regressions in 18-b5 caused by JDK-8266310

Sergey Chernyshev github.com+6394632+sercher at openjdk.java.net
Fri Jul 30 16:13:32 UTC 2021


On Fri, 23 Jul 2021 18:03:31 GMT, Sergey Chernyshev <github.com+6394632+sercher at openjdk.org> wrote:

> Dear colleagues,
> 
> Please review the patch that replaces the lambdas with anonymous classes which solves the startup time regression as shown below.
> 
> I attached the Bytestacks flamegraphs for both original (regression) and fixed versions. The flamegraphs clearly show the lambdas were causing the performance issue.
> 
> [bytestacks_flamegraphs.zip](https://github.com/openjdk/jdk/files/6870446/bytestacks_flamegraphs.zip)
> 
> Although the proposed JDK-8270321 patch fixes the startup time (it might appear even better than it was before the regression was introduced, i.e. before JDK-8266310) and generally fixes the footprint regression, it may increase MaxRSS slightly compared to the version before JDK-8266310, which is shown in the below graphs. (updated)
> 
> ![StartupTime2](https://user-images.githubusercontent.com/6394632/126898224-a05fda62-f723-4f2c-9af9-e02cbfe1c9c8.png)
> 
> ![MaxRSS](https://user-images.githubusercontent.com/6394632/126822404-899ab904-efc1-4377-9e0d-d8cdb5c0e5d0.png)
> 
> (update: added ZGC graphs)
> 
> ![StartupTime_ZGC](https://user-images.githubusercontent.com/6394632/126898242-52c09582-c2a4-4623-aad2-f47055277193.png)
> 
> ![MaxRSS_ZGC](https://user-images.githubusercontent.com/6394632/126898244-31c3eeb5-a768-4a52-8960-960cc4a72d7b.png)
> 
> I additionally include the heap objects histograms to show the change does not increase the total live objects size significantly with only 1000 bytes the total difference, namely 1116128 bytes in 25002 live objects after the proposed fix JDK-8270321 compared to 1115128 bytes in 24990 objects in the version with the original patch reverted (i.e. before JDK-8266310).
> 
> [histograms.zip](https://github.com/openjdk/jdk/files/6870457/histograms.zip)
> 
> The patch was tested w/hotspot/tier1/tier2 test groups.

This pull request has now been integrated.

Changeset: 5b3c4182
Author:    Sergey Chernyshev <serge.chernyshev at bell-sw.com>
Committer: Alexander Scherbatiy <alexsch at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/5b3c418249cfb53ae2ba530bcbbcdb5e509e4775
Stats:     35 lines in 1 file changed: 17 ins; 3 del; 15 mod

8270321: Startup regressions in 18-b5 caused by JDK-8266310

Reviewed-by: mchung, alanb

-------------

PR: https://git.openjdk.java.net/jdk/pull/4893


More information about the core-libs-dev mailing list