A strong sign is when the first launch is slow but later launches are faster, because the app may have fallen back to interpretation before JIT or AOT optimisation caught up. If the same app speeds up materially under a more aggressive compiler filter, missing precompilation is likely part of the problem.
Why This Matters for Security Teams
ART compilation can quietly turn into a first-launch bottleneck when the runtime has to do extra work before the app feels usable. That matters because user perception is shaped by startup latency, not by whether the compiler eventually catches up. Security and platform teams should treat this as an operational signal, not just a performance annoyance, because launch-time stalls often correlate with missing precompilation, cache misses, or a fallback path that was never intended for production. Guidance from NIST SP 800-53 Rev 5 Security and Privacy Controls is relevant here because performance regressions can affect availability and change-control discipline when runtime behaviour shifts unexpectedly.
The practical risk is that teams misread a slow first launch as a one-time anomaly and miss a larger pattern: the build or deployment pipeline is not producing the execution path that end users actually experience. NHI Management Group’s Ultimate Guide to NHIs notes that 5.7% of organisations have full visibility into their service accounts, a reminder that weak observability often hides the real cause of degraded runtime behaviour. In practice, many teams encounter the startup problem only after users report sluggishness, rather than through intentional launch-time testing.
How It Works in Practice
The strongest signal is a consistent gap between first-launch time and repeat-launch time. If the same app becomes noticeably faster after the first run, ART is likely spending time on compilation, verification, or profile-guided optimisation during startup. That does not automatically mean ART is “broken”; it means the workload is paying an up-front cost that may be too high for the user journey.
Teams usually narrow this down by comparing launch behaviour across compiler filters, precompiled artifacts, and device states. If a more aggressive compiler filter materially improves first-launch time, the issue is often insufficient precompilation rather than raw app code inefficiency. If performance improves only after warm cache or second launch, the runtime may be doing just-in-time work that should have been shifted earlier in the pipeline. This is where deployment discipline matters as much as application code. The Ultimate Guide to NHIs is useful as a broader operational reminder that hidden runtime dependencies are often harder to manage than they look.
- Measure cold start separately from warm start, then compare the delta across builds.
- Test with different compiler filters to see whether the app is falling back to interpretation.
- Check whether profile data exists and whether it is actually being applied in the release build.
- Look for regression only on first launch, which often points to missing precompilation or cache population.
In mature environments, the right question is not just “is launch slow?” but “what work is being deferred until the user opens the app?” That can include JIT-like behaviour, verification overhead, or missed optimisation opportunities in the packaging pipeline. These controls tend to break down when release artifacts differ from test artifacts, because the test environment may already have warm caches or prebuilt state that production devices do not.
Common Variations and Edge Cases
Tighter startup optimisation often increases build complexity and release overhead, requiring teams to balance fast first launch against pipeline maintainability. Not every delay means ART compilation is the root cause. On lower-end devices, storage speed, memory pressure, background throttling, or first-run initialisation can dominate the user experience even when compilation is healthy. Best practice is evolving here, and there is no universal standard for separating compilation cost from other startup costs without controlled measurement.
Another edge case is when the app launches slowly only after an update, then improves on later launches. That can indicate stale or missing profile information, not a permanent compilation defect. Similarly, if aggressive compilation helps startup but hurts install time or increases package size too much, the team may be trading one operational problem for another. Practitioners should also avoid overfitting to a single device class, since emulator results and high-end devices can mask the problem entirely. The broader governance lesson from NIST SP 800-53 Rev 5 Security and Privacy Controls is that repeatable measurement and controlled change are what turn a symptom into a diagnosable signal.
In short, the clearest warning signs are first-launch slowness, a large warm-versus-cold gap, and material improvement under a more aggressive compiler filter. When those three line up, missing or insufficient precompilation is usually worth investigating before the issue is blamed on the app itself.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
OWASP Non-Human Identity Top 10 and CSA MAESTRO address the attack and risk surface, while NIST CSF 2.0, NIST SP 800-53 Rev 5 and NIST AI RMF set the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| NIST CSF 2.0 | DE.CM-1 | Launch-time regressions are a detectable operational condition that should be monitored. |
| NIST SP 800-53 Rev 5 | SI-2 | Compiler or packaging changes can introduce performance-impacting configuration drift. |
| OWASP Non-Human Identity Top 10 | Identity-related runtime dependencies often hide behind deferred work and poor observability. | |
| NIST AI RMF | Runtime optimisation decisions should be evaluated with measurable performance and reliability context. | |
| CSA MAESTRO | Agentic and automated workflows also need predictable startup and execution characteristics. |
Instrument cold-start and warm-start metrics so first-launch regressions are visible in routine monitoring.
Related resources from NHI Mgmt Group
- What signals show that first-party fraud controls are missing abuse patterns?
- How can organisations reduce account takeover risk without hurting user experience?
- What signals show that AI spend is becoming a governance problem?
- What signals show that an AI agent is operating outside its intended purpose?