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

List:       openjdk-core-libs-dev
Subject:    Integrated: 8270321: Startup regressions in 18-b5 caused by JDK-8266310
From:       Sergey Chernyshev <github.com+6394632+sercher () openjdk ! java ! net>
Date:       2021-07-30 16:13:32
Message-ID: VmLeXD0LaFFUuwmQUARz-YauM4wXvxjFKCv76GgOxJc=.b1e2d7d9-0add-4513-9af3-9236b33ae3a6 () 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.

This pull request has now been integrated.

Changeset: 5b3c4182
Author:    Sergey Chernyshev <serge.chernyshev@bell-sw.com>
Committer: Alexander Scherbatiy <alexsch@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


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

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