phoenix-bandit
Flagship · Elixir · engine: bandit · standard configuration · completeness 4/4
High-performance Elixir framework using Phoenix and Bandit HTTP server, leveraging Erlang/OTP for concurrent networking and asynchronous database operations.
Achievements
🥈 1 Silver. 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 |
|---|---|---|---|
| 🥈 Silver | Test profile | Efficiency · Latency-10K | 2 of 71 |
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 | 46 of 71 | 1792 |
| HTTP/2 | 18 of 18 | 53 |
| WebSocket | 13 of 15 | 375 |
Every result
Alpha Round, 22 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 | 486,848 | 7.32ms | 10.70ms | 6431.4% | 478MiB |
| Connection | Pipelined | 4,096 | 632,232 | 90.28ms | 175.10ms | 6576.3% | 512MiB |
| Connection | Short-lived | 4,096 | 400,254 | 3.37ms | 27.30ms | 6223.4% | 431MiB |
| Concurrency | Async Delay | 32,000 | 547,586 | 26.47ms | 29.40ms | 5983.8% | 897MiB |
| Efficiency | Latency-10K | 1,024 | 9,983 | 139.2us | 264.0us | 210.8% | 389MiB |
| Efficiency | Latency-1M | 1,024 | 502,016 | 4867491.2us | 10465280.0us | 6098.8% | 358MiB |
| Efficiency | Latency-500K/8 | 1,024 | 73,557 | 8516845.5us | 16850944.0us | 763.3% | 318MiB |
| Workload | JSON Comp | 4,096 | 93,061 | 36.51ms | 336.30ms | 6287.0% | 1.8GiB |
| Workload | JSON Comp | 16,384 | 93,569 | 38.15ms | 346.30ms | 6078.6% | 1.7GiB |
| Workload | JSON TLS | 4,096 | 165,452 | 8.65ms | 68.46ms | 5026.1% | 1.3GiB |
| Workload | 8Gbit | 512 | 49,037 | 230.6us | 382.0us | 1936.7% | 510MiB |
| Database | Async DB | 1,024 | 9,627 | 106.08ms | 129.30ms | 1042.8% | 534MiB |
| HTTP/2 | Baseline | 256 | 214,310 | 115.86ms | 200.12ms | 6448.9% | 824MiB |
| HTTP/2 | Baseline | 1,024 | 203,145 | 402.37ms | 802.97ms | 6417.6% | 1.6GiB |
| HTTP/2 | Static | 256 | 24,449 | 316.56ms | 646.84ms | 1462.2% | 811MiB |
| HTTP/2 | Static | 1,024 | 23,911 | 1.02s | 1.90s | 1541.9% | 1.4GiB |
| WebSocket | Echo | 512 | 1,405,394 | 363us | 559us | 6851.8% | 348MiB |
| WebSocket | Echo | 4,096 | 1,325,316 | 2.60ms | 3.46ms | 6671.3% | 501MiB |
| WebSocket | Echo | 16,384 | 1,264,822 | 4.54ms | 8.30ms | 6388.6% | 707MiB |
| WebSocket | Echo Pipelined | 512 | 1,992,364 | 4.11ms | 5.72ms | 6739.4% | 346MiB |
| WebSocket | Echo Pipelined | 4,096 | 1,867,526 | 29.82ms | 41.90ms | 6575.2% | 578MiB |
| WebSocket | Echo Pipelined | 16,384 | 1,755,074 | 46.31ms | 102.00ms | 6343.1% | 779MiB |
Compared with
The Elixir entries around phoenix-bandit on the HTTP/1.1 composite, and the one leading them. The last column shows every profile side by side.
| Entry | Composite | vs phoenix-bandit | |
|---|---|---|---|
| plug-cowboy | 1339 | -25% | head to head |
Compare phoenix-bandit with any Elixir entry · Compare phoenix-bandit with any entry, in any language · Every Elixir entry, ranked
Results updated · How the benchmark is run · The machine · Add or fix an entry