Cold starts are a budget, not a number. The number on the dashboard is the worst-case; the budget is what you spend on each step of the cold path and how much of that you can amortize.
We measured a 200ms p99 cold start. Here's where it went.
Where the time actually goes
- 38ms — module fetch
- 71ms — validation and compilation
- 22ms — instance setup
- 51ms — first allocation and the initial heap walk
- 18ms — request dispatch into the module
Most teams optimize the wrong step.