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. Hi Sergey, thanks for the explanation, i don't think there is a need for more data with -Xint. Using anonymous classes instead of lambdas is good for me. ------------- PR: https://git.openjdk.java.net/jdk/pull/4893