Performance and Scalability

Performance work in Norscode should start with measurement, not guesswork. Real bottlenecks are often caused by data flow, cache misses, large payloads or slow integrations rather than by the syntax of the language itself.

Reduce latency where users feel it

Focus first on hot paths: the endpoints and flows that users hit most often or care about most. Early validation, bounded timeouts and fewer unnecessary steps usually provide more visible value than low-level micro-optimisation.

Cache and data discipline

Caching is powerful when the invalidation rules are clear. In-memory caches help with repeated metadata and stable configuration. HTTP caching helps with static responses and frontend delivery. Both are less useful when freshness rules are unclear or silently wrong.

Data handling matters just as much. Fetch only the fields you need, avoid repeated parsing and keep an eye on how much work happens in the request path versus what can be moved out of it.

Measure the right numbers

Average latency alone hides too much. Track p95 and p99 latency, error rate and timeout patterns as well. That is often where real user pain appears first. The best related chapters here are observability and database and storage.