JDK-8332457 : Examine startup overheads from JDK-8294961
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.lang:reflect
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2024-05-17
  • Updated: 2024-06-09
  • Resolved: 2024-06-05
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 23
23 b26Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Description
JDK-8294961 changed to use classfile API for reflection proxy-generation, which is the cause of a number of startup and footprint regressions in a few of our internal benchmarks.

There are a few things that stand out: the cost of generating the ProxyGenerator.TEMPLATE used for proxies, and that the code touches a number of bootstrapped switch expressions. There are a number of minor things, some of which have been addressed since this regression manifested in 23-b13.

One thing to examine is how much of the relative startup overhead can be avoided by using a plain code generator instead of creating a reusable template up front.
Comments
Changeset: d85b0ca5 Author: Adam Sotona <asotona@openjdk.org> Date: 2024-06-05 15:33:03 +0000 URL: https://git.openjdk.org/jdk/commit/d85b0ca5cdc1820a886c46bf555b2051fed7f167
05-06-2024

A pull request was submitted for review. URL: https://git.openjdk.org/jdk/pull/19410 Date: 2024-05-27 09:01:36 +0000
27-05-2024

Linking with important Class-File API change affecting JDK bootstrap.
20-05-2024