fiber
Flagship · Go · engine: fasthttp · standard configuration · completeness 4/4
Fiber 3 on fasthttp, default configuration, one prefork child per logical CPU sharing the port. Routing and typed path/query binding through the Fiber API, JSON via c.JSON, gzip and brotli through the compress middleware, static files from the pre-compressed .br/.gz siblings on disk.
Achievements
🥇 1 Gold · 🥈 1 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 | Within its language | Go · HTTP/1.1 | 1 of 6 |
| 🥈 Silver | Test profile | Efficiency · Latency-10K | 2 of 76 |
| 🥉 Bronze | Test profile | Workload · 8Gbit | 3 of 73 |
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 | 6 of 76 | 5932 |
| WebSocket | 10 of 23 | 1586 |
Every result
Alpha Round, 21 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,623,678 | 1.56ms | 3.47ms | 6367.5% | 348MiB |
| Connection | Pipelined | 4,096 | 18,543,424 | 3.53ms | 7.93ms | 6689.5% | 357MiB |
| Connection | Short-lived | 4,096 | 2,062,489 | 1.97ms | 6.96ms | 6444.1% | 892MiB |
| Concurrency | Async Delay | 32,000 | 1,519,042 | 20.91ms | 30.60ms | 4208.2% | 1.0GiB |
| Efficiency | Latency-10K | 1,024 | 9,983 | 75.7us | 106.0us | 41.8% | 275MiB |
| Efficiency | Latency-1M | 1,024 | 997,737 | 121.9us | 246.0us | 4332.5% | 278MiB |
| Efficiency | Latency-500K/8 | 1,024 | 377,273 | 2332761.1us | 6785024.0us | 789.0% | 61MiB |
| Workload | JSON Comp | 4,096 | 290,414 | 14.08ms | 41.40ms | 6238.2% | 804MiB |
| Workload | JSON Comp | 16,384 | 288,805 | 56.00ms | 94.00ms | 6558.8% | 1.6GiB |
| Workload | JSON TLS | 4,096 | 902,093 | 4.70ms | 106.82ms | 6311.6% | 722MiB |
| Workload | 8Gbit | 512 | 49,441 | 100.7us | 137.0us | 351.8% | 406MiB |
| Workload | Static TLS | 1,024 | 579,542 | 1.81ms | 27.59ms | 6489.9% | 529MiB |
| Database | Async DB | 1,024 | 240,295 | 3.68ms | 23.00ms | 5403.0% | 605MiB |
| WebSocket | Echo | 512 | 3,011,629 | 169us | 497us | 6431.5% | 338MiB |
| WebSocket | Echo | 4,096 | 3,006,069 | 1.36ms | 3.09ms | 6379.6% | 449MiB |
| WebSocket | Echo | 16,384 | 2,649,499 | 6.14ms | 10.00ms | 6629.0% | 990MiB |
| WebSocket | Echo Pipelined | 512 | 4,621,699 | 1.76ms | 64.20ms | 6274.6% | 418MiB |
| WebSocket | Echo Pipelined | 4,096 | 4,638,201 | 13.14ms | 510.00ms | 6071.3% | 572MiB |
| WebSocket | Echo Pipelined | 16,384 | 4,627,739 | 41.82ms | 1.85s | 6270.7% | 1.0GiB |
| WebSocket | Echo Short-lived | 512 | 1,655,701 | 234us | 1.08ms | 5898.9% | 490MiB |
| WebSocket | Echo Short-lived | 4,096 | 1,910,325 | 1.86ms | 7.15ms | 6220.7% | 633MiB |
Compared with
The Go entries around fiber on the HTTP/1.1 composite, and the one leading them. The last column shows every profile side by side.
| Entry | Composite | vs fiber | |
|---|---|---|---|
| fib-tuned | 7101 | +20% | head to head |
| fiber-tuned | 6372 | +7% | head to head |
| fib | 6302 | +6% | head to head |
| go-fasthttp | 3632 | -39% | head to head |
| echo | 2252 | -62% | head to head |
Compare fiber with any Go entry · Compare fiber with any entry, in any language · Every Go entry, ranked
Results updated · How the benchmark is run · The machine · Add or fix an entry