<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<p>Hi Charlie,</p>
<p>Thanks for trying CDS out. Is there any performance numbers you
can share with us?</p>
<p>More comments below</p>
<p><br>
</p>
<p></p>
<p></p>
<div class="moz-cite-prefix">On 2/12/25 10:37 AM, Charles Oliver
Nutter wrote:<br>
</div>
<blockquote type="cite" cite="mid:CAE-f1xQtjsXoh3gEAfjKBM33Dcmj2SrFDUTnGC4Lg4T_xs5LoQ@mail.gmail.com">
<div dir="ltr">
<div>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.</div>
<div><br>
</div>
<div>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.</div>
<div><br>
</div>
<div>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:</div>
<div><br>
</div>
<div>* OMG that warning output... is there any way to capture
that to a file without redirecting the whole process?</div>
<div>* 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.</div>
</div>
</blockquote>
<p><br>
</p>
<p>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?<br>
</p>
<p><br>
</p>
<blockquote type="cite" cite="mid:CAE-f1xQtjsXoh3gEAfjKBM33Dcmj2SrFDUTnGC4Lg4T_xs5LoQ@mail.gmail.com">
<div dir="ltr">
<div>* 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?</div>
<div><br>
</div>
<div>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.</div>
<div> </div>
</div>
</blockquote>
<p>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.<br>
</p>
<p>See
<a class="moz-txt-link-freetext" href="https://docs.oracle.com/en/java/javase/21/docs/specs/man/java.html">https://docs.oracle.com/en/java/javase/21/docs/specs/man/java.html</a><br>
</p>
<p>Thanks</p>
<p>- Ioi<br>
</p>
<p><br>
</p>
<p><br>
</p>
<blockquote type="cite" cite="mid:CAE-f1xQtjsXoh3gEAfjKBM33Dcmj2SrFDUTnGC4Lg4T_xs5LoQ@mail.gmail.com">
<div dir="ltr">
<div>
<div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">
<div dir="ltr"><b>Charles Oliver Nutter</b>
<div><i>Architect and Technologist</i></div>
<div>Headius Enterprises</div>
<a href="https://www.headius.com" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">https://www.headius.com</a>
<div>
<div><a href="mailto:headius@headius.com" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">headius@headius.com</a></div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</body>
</html>