Cold starts
The first request to a freshly deployed or idle function is a cold start. Owly keeps these fast for you — there's nothing to configure. What matters on your side is writing handlers that behave well per request and keeping the function lean.
Write request-scoped handlers
Each request is handled independently. Don't assume state you compute while handling one request survives to the next — treat handlers as request-scoped:
// Fine: compute per request (cheap), or derive from config/files.
app.get('/api/page', (c) => c.html(render(loadTemplate())));
If you need data that genuinely persists across requests, source it from
something durable — owly.yaml env, the project's static files
(Files.Get / owly:project/files), or an external store. Built-in
durable caching is on the roadmap.
Make cold starts cheaper
The most effective lever is keeping the function small and its dependencies lean. Anything expensive that you can precompute into a static file at build time (and read at request time) avoids doing that work in the request path.