AppCDS, DynamicCDS, Leyden and JRuby

ioi.lam at oracle.com ioi.lam at oracle.com
Wed Feb 12 21:41:53 UTC 2025


Hi Charlie,

Thanks for trying CDS out. Is there any performance numbers you can 
share with us?

More comments below


On 2/12/25 10:37 AM, Charles Oliver Nutter wrote:
> Hello friends, I'm revisiting CDS-related stuff in JRuby today! Claes 
> R. suggested I direct my CDS questions here, since this list 
> represents the future of that work.
>
> We are keenly awaiting the new AOTCache stuff but for now I'm looking 
> primarily at AppCDS or DynamicCDS given the upcoming JRuby 10 baseline 
> JDK level of 21.
>
> So, I have a JRuby launcher script that already can detect and use a 
> jsa generated for JRuby into the install location. I'm adding a flag 
> to run -XX:ArchiveClassesAtExit and have a few questions:
>
> * OMG that warning output... is there any way to capture that to a 
> file without redirecting the whole process?
> * Why is it not possible to boot with one JSA and then dump a new JSA 
> at the end? It complains if I use both SharedArchiveFile and 
> ArchiveClassesAtExit in the same command line.


That's something we are talking about in the Leyden project - train with 
an existing cache and write an updated cache at the end. What kinds of 
scenarios are you looking at?


> * Is there any way to verify if the JSA will be usable (not stale, 
> etc) without parsing stderr output from the failed attempt to use it?
>
> Basically I'm trying to make this a hidden automatic feature in the 
> JRuby launcher: if the JSA doesn't exist, generate and use it; if it's 
> stale because JRuby or JDK changed, regenerate and use it. That's hard 
> to do if it's spitting warnings at my users.

Have you tried the -XX:+AutoCreateSharedArchive flag? It should recreate 
the dynamic archive if you have updated the app's JAR files or updated 
to a new JDK.

See https://docs.oracle.com/en/java/javase/21/docs/specs/man/java.html

Thanks

- Ioi



> *Charles Oliver Nutter*
> /Architect and Technologist/
> Headius Enterprises
> https://www.headius.com
> headius at headius.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/leyden-dev/attachments/20250212/c5f69eab/attachment.htm>


More information about the leyden-dev mailing list