Why the First Request Is Always Slower
When a serverless function goes unused for a while, its execution environment shuts down. The next request has to reinitialize the runtime from scratch before it can run — this is what's known as a cold start, and it's a major source of perceived latency. This tool takes your runtime, memory size, and package size, then estimates the expected cold start time.
Base Initialization Time by Runtime
| Runtime | Base Time |
|---|---|
| Go | 50ms |
| Node.js | 150ms |
| Python | 200ms |
| .NET | 400ms |
| Java | 800ms |
How to Reduce Cold Starts
More memory usually means more allocated CPU, which speeds up initialization. Beyond that, provisioned concurrency keeps functions pre-warmed, a lighter deployment package reduces load time, and compiled languages like Go initialize faster than interpreted runtimes.
Frequently Asked Questions
When a function isn't invoked for a while, its execution environment shuts down, so the next request has to reinitialize the runtime from scratch.
Yes, cloud providers allocate CPU proportionally to memory, so increasing memory generally speeds up initialization.
Provisioned concurrency, a lighter deployment package, and compiled languages like Go are common ways to mitigate cold starts.