veb
Engine · V
veb is the web framework in V's standard library, now running on the parallel fasthttp backend (multi-threaded, SO_REUSEPORT epoll, zero-copy append handler). Its deterministic request framing reassembles TCP-fragmented requests and decodes chunked bodies, so baseline is subscribed (the old single-threaded backend could not). JSON responses are built without per-request reflection (precomputed item prefixes + manual serialization); json-comp gzips on Accept-Encoding with a process-shared cache; static assets are served via veb's static handler (sendfile + MIME) mounted at /static/; crud is an in-memory cache-aside (X-Cache MISS/HIT, invalidated on update); fortunes renders the DB rows + a runtime row with HTML escaping; async-db/crud/fortunes use the stdlib db.pg pooled Go-style DB. Built on pinned V master 84a76d791 (the fasthttp vanilla-architecture refactor, vlang/v#27771) with the default GC (Boehm). json-tls is not subscribed: it needs a second TLS listener on :8081 (a separate OpenSSL path) not wired here.
Composite rank
Each profile of a family is worth 100 to the entry that leads it, and the composite is the sum over the family. The field is this entry's own league: engines and reverse proxies are scored apart from frameworks. How it works.
| Family | Rank | Composite |
|---|---|---|
| HTTP/1.1 | 33 of 34 | 8 |
Every result
Alpha Round, 20 runs. Requests per second is the best of three; latency, CPU and memory come from that run.
| Category | Profile | Conns | Req/sec | Avg | p99 | CPU | Memory |
|---|---|---|---|---|---|---|---|
| Connection | Baseline | 512 | 106,147 | 4.85ms | 42.90ms | 1183.9% | 519MiB |
| Connection | Baseline | 4,096 | 105,425 | 38.81ms | 88.80ms | 1038.6% | 740MiB |
| Connection | Pipelined | 512 | 132,236 | 62.10ms | 148.20ms | 1164.6% | 525MiB |
| Connection | Pipelined | 4,096 | 126,275 | 493.45ms | 755.40ms | 1033.9% | 764MiB |
| Connection | Short-lived | 512 | 107,424 | 4.73ms | 46.70ms | 1183.2% | 585MiB |
| Connection | Short-lived | 4,096 | 107,019 | 38.15ms | 121.20ms | 993.8% | 904MiB |
| Workload | JSON | 4,096 | 60,374 | 67.20ms | 163.80ms | 1779.5% | 861MiB |
| Workload | JSON Comp | 512 | 79,144 | 6.46ms | 49.90ms | 1738.5% | 522MiB |
| Workload | JSON Comp | 4,096 | 74,734 | 54.50ms | 141.50ms | 3344.3% | 837MiB |
| Workload | JSON Comp | 16,384 | 73,280 | 214.53ms | 295.60ms | 1784.2% | 1.4GiB |
| Workload | Upload | 32 | 16 | 857.75ms | 1.78s | 1525.2% | 1.6GiB |
| Workload | Upload | 256 | 5 | 4.07s | 4.76s | 1424.8% | 2.3GiB |
| Workload | Static | 1,024 | 111,277 | 12.21ms | 128.77ms | 1675.5% | 564MiB |
| Workload | Static | 4,096 | 110,740 | 38.14ms | 138.07ms | 1648.2% | 799MiB |
| Workload | Static | 6,800 | 109,583 | 61.33ms | 196.62ms | 1659.1% | 958MiB |
| Database | Async DB | 1,024 | 4,944 | 202.53ms | 600.10ms | 1410.8% | 3.1GiB |
| Database | CRUD | 4,096 | 62,644 | 65.23ms | 257.90ms | 1166.9% | 2.4GiB |
| Database | Fortunes | 1,024 | 172 | 2.51s | 4.81s | 1668.5% | 359MiB |
| Multi-endpoint | API-4 | 256 | 17,767 | 13.69ms | 109.40ms | 381.3% | 2.5GiB |
| Multi-endpoint | API-16 | 1,024 | 12,012 | 84.28ms | 454.00ms | 1134.6% | 3.5GiB |
How the benchmark is run · The machine · Add or fix an entry