Benchmarks

Real numbers, reproducible.

Reproducible workloads with published methodology — bext's native Rust path and PRISM against familiar runtimes and SSR engines.

Throughput

Request throughput

27K–52K
req/s
Simple pages
11K–38K
req/s
ISR cached
5.5–80×
faster
vs Next.js
TSX rendering

PRISM against SSR engines

The same 38.3 KB Tailwind catalog page, the same data, and byte-validated HTML. Warm synchronous render CPU time on Bun 1.3.13, pinned to one core.

15.8
µs · average
Safe hand-written JS ceiling
15.7
µs · average
PRISM compiled
38
µs · average
Marko 5
75.3
µs · average
PRISM automatic JSX
78
µs · average
Solid 1.9
1,823
µs · average
React 19
3.9
µs · average
Rust string builder

The safe JS ceiling escapes the same dynamic values: at 15.7 versus 15.8 µs, compiled PRISM matches it within measurement noise. PRISM direct h(): 69.3 µs average / 62.1 µs p50. Automatic JSX: 75.3 / 67.9 µs. Solid keeps a slightly lower p50 (61 µs), while PRISM has the lower average; they remain in the same band. Compiled PRISM is about 2.4× ahead of Marko and 116× ahead of React.

Comparison

vs Deno, Bun & Node

Same machine, same work — a plain-text "Hello, World!" (GET) and a bearer-authenticated JSON API (POST: validate the token, parse the JSON body, return JSON). bext's native Rust path vs Deno.serve, Bun.serve & node:http, oha @ 100.

1.9×
throughput
Hello — vs Deno
2.5×
throughput
JSON API — vs Bun
4.6×
throughput
JSON API — vs Node

bext 152.7K / 134.8K req/s (hello / api) · Deno 2.8.3 80.5K / 57.7K · Bun 1.3 74.9K / 53.8K · Node 25 42.2K / 29.0K. AMD Ryzen 9 5900X, oha 1.14.0, 100 connections, best of 2.

Transparency

Methodology

The TSX shootout measures warm synchronous render CPU time on Bun 1.3.13, pinned to one core, after byte validation; close paths use alternating series and their median. HTTP page benchmarks use autocannon (10 connections, 30 seconds). The runtime comparison uses oha at 100 connections (5s warmup, best of 2).

benchmark.sh
# Reproduce these benchmarks yourself
autocannon -c 10 -d 30 http://localhost:3000/
autocannon -c 10 -d 30 http://localhost:3000/api/data
autocannon -c 10 -d 30 http://localhost:3000/ssr-page

Measure it yourself.

One command to install, one to deploy. Run bext on your own hardware and compare.

Get startedView pricing