aegon
Experimental · C++ · engine: io_uring · standard configuration · completeness 4/4
Linux-native C++26 asynchronous web framework powered by io_uring multishot primitives, coroutines, stepped SIMD vectorization, and Glaze JSON serialization.
Achievements
🥇 12 Gold · 🥈 6 Silver · 🥉 1 Bronze. Top three of a field, taken in this entry's own league: the family composite, the same composite among entries written in the same language, and each test profile it is scored on. Every field is the one the badges publish, so a medal and a badge always say the same thing. How medals are awarded.
| Medal | Award | Field | Rank |
|---|---|---|---|
| 🥇 Gold | Family composite | Composite · HTTP/1.1 | 1 of 8 |
| 🥇 Gold | Family composite | Composite · HTTP/2 | 1 of 5 |
| 🥇 Gold | Family composite | Composite · WebSocket | 1 of 8 |
| 🥇 Gold | Test profile | Concurrency · Async Delay | 1 of 6 |
| 🥇 Gold | Test profile | Connection · Baseline | 1 of 8 |
| 🥇 Gold | Test profile | HTTP/2 · Baseline | 1 of 4 |
| 🥇 Gold | Test profile | HTTP/2 · Baseline (h2c) | 1 of 5 |
| 🥇 Gold | Test profile | HTTP/2 · JSON (h2c) | 1 of 5 |
| 🥇 Gold | Test profile | WebSocket · Echo | 1 of 8 |
| 🥇 Gold | Test profile | WebSocket · Echo Pipelined | 1 of 8 |
| 🥇 Gold | Test profile | WebSocket · Echo Short-lived | 1 of 8 |
| 🥇 Gold | Test profile | Workload · JSON Comp | 1 of 7 |
| 🥈 Silver | Family composite | Composite · HTTP/3 | 2 of 4 |
| 🥈 Silver | Test profile | Connection · Short-lived | 2 of 8 |
| 🥈 Silver | Test profile | HTTP/3 · Baseline | 2 of 4 |
| 🥈 Silver | Test profile | HTTP/3 · Static | 2 of 3 |
| 🥈 Silver | Test profile | Workload · 8Gbit | 2 of 6 |
| 🥈 Silver | Test profile | Workload · JSON TLS | 2 of 7 |
| 🥉 Bronze | Test profile | HTTP/2 · Static | 3 of 4 |
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, less 2.5% for each of routing, middleware, request and response the entry does not do for you - its completeness factor, which the WebSocket and gRPC families do not carry. 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 | 1 of 8 | 7565 |
| HTTP/2 | 1 of 5 | 3244 |
| HTTP/3 | 2 of 4 | 885 |
| WebSocket | 1 of 8 | 3000 |
Every result
Alpha Round, 31 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 | 4,096 | 3,996,171 | 1.02ms | 1.71ms | 6492.6% | 4.3GiB |
| Connection | Pipelined | 4,096 | 27,608,511 | 2.37ms | 3.14ms | 6555.0% | 4.3GiB |
| Connection | Short-lived | 4,096 | 2,597,100 | 1.45ms | 2.82ms | 6279.9% | 4.4GiB |
| Concurrency | Async Delay | 32,000 | 2,647,330 | 12.01ms | 13.10ms | 6356.6% | 5.4GiB |
| Efficiency | Latency-10K | 1,024 | 9,980 | 69.7us | 98.0us | 29.0% | 4.2GiB |
| Efficiency | Latency-1M | 1,024 | 997,511 | 254.1us | 170.0us | 1586.4% | 4.2GiB |
| Efficiency | Latency-500K/8 | 1,024 | 483,013 | 294128.3us | 2255872.0us | 814.2% | 566MiB |
| Workload | JSON Comp | 4,096 | 962,211 | 4.21ms | 9.09ms | 6491.7% | 4.3GiB |
| Workload | JSON Comp | 16,384 | 935,723 | 17.34ms | 25.40ms | 6386.2% | 4.8GiB |
| Workload | JSON TLS | 4,096 | 1,290,079 | 3.12ms | 56.71ms | 6406.5% | 4.7GiB |
| Workload | 8Gbit | 512 | 49,349 | 119.9us | 169.0us | 341.1% | 4.3GiB |
| Workload | Static TLS | 1,024 | 499,850 | 2.30ms | 31.85ms | 6710.2% | 4.5GiB |
| HTTP/2 | Baseline | 256 | 12,529,960 | 1.58ms | 13.05ms | 5619.9% | 4.2GiB |
| HTTP/2 | Baseline | 1,024 | 13,414,881 | 5.71ms | 89.62ms | 6378.6% | 4.4GiB |
| HTTP/2 | Static | 256 | 516,574 | 17.47ms | 45.78ms | 6512.4% | 4.4GiB |
| HTTP/2 | Static | 1,024 | 461,672 | 67.66ms | 140.84ms | 6705.4% | 5.4GiB |
| HTTP/2 | Baseline (h2c) | 256 | 13,103,154 | 1.56ms | 8.24ms | 5584.3% | 4.2GiB |
| HTTP/2 | Baseline (h2c) | 1,024 | 14,444,079 | 5.31ms | 20.57ms | 6366.4% | 4.6GiB |
| HTTP/2 | Baseline (h2c) | 4,096 | 13,802,882 | 18.48ms | 67.71ms | 6284.4% | 6.4GiB |
| HTTP/2 | JSON (h2c) | 1,024 | 4,000,354 | 7.80ms | 31.34ms | 6471.8% | 4.4GiB |
| HTTP/2 | JSON (h2c) | 4,096 | 3,223,981 | 39.28ms | 108.52ms | 6302.7% | 5.4GiB |
| HTTP/3 | Baseline | 64 | 2,981,569 | 1.78ms | 4.82ms | 3969.8% | 4.2GiB |
| HTTP/3 | Static | 64 | 309,158 | 15.86ms | 48.33ms | 4483.3% | 4.4GiB |
| WebSocket | Echo | 512 | 4,207,888 | 121us | 225us | 6329.9% | 4.2GiB |
| WebSocket | Echo | 4,096 | 4,283,047 | 956us | 1.30ms | 6409.4% | 4.3GiB |
| WebSocket | Echo | 16,384 | 3,951,014 | 4.13ms | 5.17ms | 6093.1% | 4.8GiB |
| WebSocket | Echo Pipelined | 512 | 63,184,451 | 129us | 237us | 6384.5% | 4.2GiB |
| WebSocket | Echo Pipelined | 4,096 | 63,623,190 | 1.03ms | 1.36ms | 6441.9% | 4.4GiB |
| WebSocket | Echo Pipelined | 16,384 | 58,668,976 | 4.45ms | 5.51ms | 6404.9% | 5.0GiB |
| WebSocket | Echo Short-lived | 512 | 2,189,840 | 122us | 384us | 5247.4% | 4.2GiB |
| WebSocket | Echo Short-lived | 4,096 | 2,545,648 | 1.05ms | 1.75ms | 5979.1% | 4.4GiB |
Compared with
The C++ entries around aegon on the HTTP/1.1 composite, and the one leading them. The last column shows every profile side by side.
| Entry | Composite | vs aegon | |
|---|---|---|---|
| hical | 5791 | -23% | head to head |
| libuvcpp | 5050 | -33% | head to head |
Compare aegon with any C++ entry · Compare aegon with any entry, in any language · Every C++ entry, ranked
Results updated · How the benchmark is run · The machine · Add or fix an entry