Using CDS and AOT with the Eclipse IDE

Daniel Schmid daniel at wwwmaster.at
Sat Jul 19 09:13:06 UTC 2025


Hi Calvin,

Thanks for the hint. Without --add-modules=ALL-SYSTEM, I am indeed 
getting rid of the error and there seems to be an improvement of AOT 
over CDS (though I don't have a proper test setup so all my results are 
very noisy).

I wasn't using the "Launch" button in the Eclipse Window, I just ran the 
Eclipse binary from bash. I think if you are on Windows, you might need 
to run eclipsec.exe instead of eclipse.exe (or appand -console or 
something like that). Also, I didn't add these custom arguments to the 
eclipse.ini file but directly to the command line.
Also on Windows, I think it might make a difference whether you are 
using java.exe, javaw.exe and jvm.dll in the -vm option.

Yours,
Daniel

On 19/07/2025 03:38, Calvin Cheung wrote:
>
> Hi Daniel,
>
> Thanks for your experiments with CDS and AOT.
>
> From your AOT_logs_26ea.txt:
>
>> WARNING: Using incubator modules: jdk.incubator.vector
>> [0.055s][info][aot] Not starting management agent during creation of 
>> AOT cache.
>> Reading AOTConfiguration app.aotconf and writing AOTCache app.aot
>> [0.057s][error][aot] An error has occurred while processing the AOT 
>> configuration file. Run with -Xlog:aot for details.
>> [0.057s][error][aot] archivedBootLayer not available, disabling full 
>> module graph
>
> The jdk.incubator.vector incubator module is included. We currently 
> don't archive the boot layer if an incubator module is included in the 
> module configuration. The incubator is added because the eclipse.ini 
> file contains:
>
> --add-modules=ALL-SYSTEM
>
> I tried removing the above line from eclipse.ini and I don't see the 
> above error anymore.
>
> Can you give it a try?
>
> I also tried your method of measuring the eclipse startup time by 
> checking the line starting with "Application started in:" at the 
> terminal. I noticed the line won't show up until I click on the 
> "Launch" button on the eclipse window. Are you able to start eclipse 
> without any splash screen and GUI?
>
> Thanks!
> Calvin
>
>
> On 7/18/25 5:47 AM, Daniel Schmid wrote:
>>
>> Hi there,
>>
>> I made a few experiments with CDS and AOT archives on the Eclipse IDE 
>> and wanted to share my results here.
>> I ran 4 Eclipse installations (my personal main Eclipse installation 
>> is in a comment further down) with AppCDS and -XX:AOTCache and I have 
>> written down my results here: 
>> https://github.com/eclipse-platform/eclipse.platform/discussions/2060
>>
>> I think the Eclipse IDE is an interesting application to test as it 
>> is a fairly big codebase with many classes loaded at runtime (so it 
>> doesn't make it easy for Leyden's improvements) via OSGi.
>>
>> I have used the latest EA build of JDK 26 (26-ea+6-582). Should I use 
>> a different JDK build to test it?
>>
>> Essentially my findings (which are relevant to this mailing list) are 
>> the following:
>> - There has been an error when creating the AOT archive but it was 
>> still created and it was usable. I want to make sure that the people 
>> here are aware of that error. To be honest, I did not 
>> expect -XX:AOTCache to work that well with Eclipse.
>> - While CDS seems to come with a noticeable improvement for Eclipse 
>> startup time, -XX:AOTCache seems to have similar startup times as CDS 
>> (not faster). This might be because of Eclipse's class loading 
>> shenanigans.
>> - It worked with an agent attached (The Lombok tooling for Eclipse 
>> attaches an agent into the IDE, I think that's necessary to inject 
>> itself into the Eclipse Java Compiler).
>>
>>
>> The error I got:
>>
>> |[0.074s][error][aot] An error has occurred while processing the AOT 
>> configuration file. Run with -Xlog:aot for details. 
>> [0.074s][error][aot] archivedBootLayer not available, disabling full 
>> module graph AOTCache creation is complete: app.aot 106397696 bytes |
>>
>> I provided the logs here: 
>> https://github.com/user-attachments/files/21313886/AOT_logs_26ea.txt 
>> (technically not the same run but it also has that error).
>>
>>
>> Yours,
>> Daniel Schmid
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/leyden-dev/attachments/20250719/bd3fdf46/attachment.htm>


More information about the leyden-dev mailing list