cpeak
Emerging · Rust · engine: hyper · tuned configuration · completeness 4/4
Cpeak for Rust is an HTTP framework on hyper with one single-threaded Tokio event loop per core. Default configuration: routing, path and query parameters through the Cpeak API, JSON through res.json() (sonic-rs), Cpeak's built-in compression (gzip or brotli, per request), cpeak::sleep() for the waits and Cpeak's https option (rustls) for TLS.
Achievements
🥇 4 Gold. 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 95 |
| 🥇 Gold | Within its language | Rust · HTTP/1.1 | 1 of 10 |
| 🥇 Gold | Test profile | Workload · JSON Comp | 1 of 91 |
| 🥇 Gold | Test profile | Workload · JSON TLS | 1 of 92 |
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 95 | 7298 |
Every result
Alpha Round, 12 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 | 2,586,588 | 1.58ms | 4.05ms | 6656.7% | 384MiB |
| Connection | Pipelined | 4,096 | 14,496,147 | 4.52ms | 8.22ms | 6301.1% | 409MiB |
| Connection | Short-lived | 4,096 | 2,118,981 | 1.91ms | 7.20ms | 6261.4% | 462MiB |
| Concurrency | Async Delay | 32,000 | 2,102,544 | 15.12ms | 17.60ms | 6403.2% | 1.6GiB |
| Efficiency | Latency-10K | 1,024 | 9,980 | 77.5us | 110.0us | 28.2% | 248MiB |
| Efficiency | Latency-1M | 1,024 | 997,967 | 114.3us | 197.0us | 3005.7% | 250MiB |
| Efficiency | Latency-500K/8 | 1,024 | 383,482 | 2284859.5us | 5642240.0us | 791.6% | 75MiB |
| Workload | JSON Comp | 4,096 | 493,187 | 8.31ms | 26.30ms | 6169.8% | 440MiB |
| Workload | JSON Comp | 16,384 | 476,682 | 34.01ms | 86.10ms | 6558.4% | 927MiB |
| Workload | JSON TLS | 4,096 | 1,284,103 | 3.16ms | 48.13ms | 6334.3% | 615MiB |
| Workload | 8Gbit | 512 | 49,367 | 92.3us | 123.0us | 215.1% | 346MiB |
| Database | Async DB | 1,024 | 320,543 | 2.64ms | 24.20ms | 3891.9% | 362MiB |
Compared with
The Rust entries around cpeak on the HTTP/1.1 composite, and the one leading them. The last column shows every profile side by side.
| Entry | Composite | vs cpeak | |
|---|---|---|---|
| tako | 6992 | -4% | head to head |
| actix | 6638 | -9% | head to head |
Compare cpeak with any Rust entry · Compare cpeak with any entry, in any language · Every Rust entry, ranked
Results updated · How the benchmark is run · The machine · Add or fix an entry