Benchmarks
Performance is a design goal, not an afterthought. mion has been measured against the fastest frameworks and validators since its first commit, and every design decision is checked against those numbers. Every result on these pages is generated on deploy, from the code in this repository, so it never drifts from the released version.
RPC: requests per second
A hello world route on mion (node, uWebSockets and bun) against express, fastify, hapi, hono, elysia and a bare node server. Routing and framework overhead only, no validation, so it is about as fast as each framework can get.
$ loading benchmarks…
All rpc server benchmarks: hello world, light and heavy validation, payload sizes →
RPC: max memory
The same hello world run, measured on memory: the most each server used while under load, lower is better. mion keeps its footprint small because validation and the JSON round trip are compiled at build time, with no schema library to load.
RunTypes: validation throughput
The fast is-valid check on the same types and payloads across the fastest validators. RunTypes also measures error reporting, the JSON round trip, and what each type costs the compiler, all on their own pages.
$ loading benchmarks…
All RunTypes benchmarks: is valid, get errors, JSON round trip, type checking →