Commits
Tarun Sukhani authored d0a3a80f9d2
docs(adr): defer build-time metadata generation, with jclaw's measured boot profile (PF-178)
The second half of the PF-178 spike. The "Started in" line was read on
the bundle of jclaw (2,022 precompiled classes, about fifty start-up
jobs), built against 17751054a and run from a scratch copy on an empty
database with its production JVM options (ZGC, incubator vector module),
JDK 25.0.2, macOS arm64, median of five starts:
no cache AOT cache
Started in 3,047 ms 1,926 ms
launch to listening 3,306 ms 2,195 ms
classes 149 ms 103 ms
share of the start 4.9% 5.3%
Class definition is under the ticket's 10 percent gate either way, and
the two class scans metadata could replace cost about 4 ms, so the
decision is to defer. docs/adr/0002 records it with the per-phase
figures and three re-evaluation triggers.
The same numbers close PF-180's measurement on jclaw: the AOT cache
takes 37 percent off its start under ZGC (38 percent with the default
collector, 3,031 ms to 1,865 ms). The deployment chapter gains one line
on what a large application can expect.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KDUoh3KhBpfjXn4rV6H356