Benchmarks
How Codexa Core's HTTP layer compares to raw Deno.serve, Oak, Hono, and Express on the same three endpoints.
Three identical endpoints, GET /hello, GET /users/:id, and POST /users with a validated body, implemented once per framework and load tested with the same settings. Codexa Core is loaded from its published JSR package (@codexa/core@1.0.7), the same way a real consumer would install it, not from local source. Every number below is the median of three independent full runs, not a single sample. Numbers are from one developer machine and will vary by hardware, treat them as directional. See Reproducing this to run them yourself.
What this shows
- Raw
Deno.serveis the ceiling, no routing, no validation library overhead beyond Zod, just a manualifchain. - Codexa Core lands in the same tier as Hono on both GET routes (within about 10-15% of the raw ceiling), and clearly ahead of Oak and Express on all three endpoints, while adding a plugin system, a radix tree router, typed cross-plugin services, and request lifecycle hooks that the raw baseline has none of.
- Oak, Hono, and Express are included as the comparison points most people already have intuition for, Oak and Hono as established Deno frameworks, Express as the most familiar reference point overall.
Methodology
- Load generator: autocannon, 50 concurrent connections, 10 second measurement window per endpoint per framework, a 3 second warmup run discarded before each measurement.
- Repetition: each framework/endpoint combination was measured across 3 independent full runs (fresh process each time); the number shown is the median of those 3, not a single sample.
- Endpoints: identical route shapes and identical Zod validation schema across every framework, so the comparison is routing and framework overhead, not differing amounts of work per request.
- Isolation: each framework runs as its own process on its own port, benchmarked one at a time, never concurrently with another framework under test.
- What is not measured: cold start time, memory usage, and behavior under sustained production load over hours are all out of scope here, this is a short-run throughput and latency snapshot only.
Reproducing this
The harness (one Deno file covering Codexa Core, raw Deno.serve, Oak, and Hono selected by an environment variable, one Express file, and a Node orchestrator script) is kept separately, outside both the codexa-core and codexa-core-docs repositories, so neither repo has to carry framework server code alongside its own source. Both repos track only the generated output, at benchmarks/results/results.json and results.md, which is what this page reads.