On Fri, 23 Jul 2021 18:03:31 GMT, Sergey Chernyshev <github.com+6394632+serc...@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) > >  > >  > > (update: added ZGC graphs) > >  > >  > > 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.chernys...@bell-sw.com> Committer: Alexander Scherbatiy <alex...@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