JDK-8281316 : javac performance issues with large number of jars on classpath
  • Type: Bug
  • Component: tools
  • Sub-Component: javac
  • Affected Version: 11.0.14,17
  • Priority: P3
  • Status: Open
  • Resolution: Unresolved
  • OS: windows
  • Submitted: 2022-02-07
  • Updated: 2024-08-28
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 11 JDK 17 Other
11.0.17-oracleFixed 17.0.5-oracleFixed tbdUnresolved
Related Reports
Relates :  
Relates :  
Relates :  
Relates :  
Description
JDK 11 compiler speed doesn't scale well with the number of jar files on Windows.

The performance of com.sun.tools.javac.Main#compile() is slower in JDK 11 than JDK 8.  The difference is getting larger as the loaded jar files are increased.  The similar performance degradation is not observed in other platforms.
Comments
[~phh] We are seeing Javac performance issue because of ZipFS API changes made as part of JDK-8059976 and also classpath jar files were not handled correctly in Javac. Fix we had given in 17 and 11 had resulted in improvement of the performance in JavaC. Even though 21 had few improvements in ZipFS area but we still have to work on classpath jar files to improve the performance overall which we are tracking as part of JDK-8289279.
15-06-2023

How can this issue be "Open" when it's been backported to 17 and 11?
14-06-2023

JDK-8059976 changes made alot of behavioral changes to this area - especially by moving to use of ZipFS API. Initial analysis will focus on changes in this area.
16-03-2022