Commits
Tarun Sukhani authored 6301b4b899a
perf(boot): create the Java compiler on first use, not at every start ApplicationClasses built its ApplicationCompiler in a field initialiser, so Play.init loaded that class in every start. Verifying it resolves the JDT interfaces it mentions, and those come out of a signed jar: about 50 ms of a precompiled start went to a compiler such a start never runs, in the part of the "Started in" line no phase accounts for. The compiler is now created when something is first compiled. A start that compiles, in DEV or in PROD without precompiled classes, pays the same cost as before, at its first compilation. java.source is checked at that point too, so a precompiled application no longer reads it. Guarded by a precompiled boot under -Xlog:class+load that must load no org.eclipse.jdt class. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KDUoh3KhBpfjXn4rV6H356