[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-core-libs-dev
Subject:    Re: RFR: 8270321: Startup regressions in 18-b5 caused by JDK-8266310
From:       Aleksei Voitylov <avoitylov () openjdk ! java ! net>
Date:       2021-07-30 12:22:27
Message-ID: ZdMRbgfMq0KXlen9IAGR9B6IFDf8MLen3vrywxVqqE8=.6b74f434-bcf7-4358-aa21-42102866e593 () github ! com
[Download RAW message or body]

On Fri, 23 Jul 2021 18:03:31 GMT, Sergey Chernyshev \
<github.com+6394632+sercher@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.

Thanks Sergey for dealing with this while I was on vacation, and sorry for causing \
this regression! Looks good (not a reviewer).

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

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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic