feersum
Engine · Perl
Feersum: an event-driven, high-performance HTTP server engine for Perl built on EV/libev with TLS 1.3, HTTP/2, WebSocket, and PostgreSQL support
Achievements
🥇 1 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 | Test profile | Efficiency · Latency-10K | 1 of 35 |
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 | 9 of 37 | 4811 |
| HTTP/2 | 10 of 14 | 251 |
| WebSocket | 12 of 18 | 773 |
Every result
Alpha Round, 26 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,074,092 | 1.97ms | 4.56ms | 6365.0% | 212MiB |
| Connection | Pipelined | 4,096 | 3,641,519 | 18.01ms | 35.10ms | 6190.2% | 249MiB |
| Connection | Short-lived | 4,096 | 1,832,611 | 2.22ms | 5.60ms | 6289.6% | 248MiB |
| Concurrency | Async Delay | 32,000 | 1,932,947 | 16.41ms | 20.90ms | 5872.9% | 573MiB |
| Efficiency | Latency-10K | 1,024 | 9,984 | 72.3us | 112.0us | 31.6% | 147MiB |
| Efficiency | Latency-1M | 1,024 | 997,610 | 127.1us | 246.0us | 3430.3% | 152MiB |
| Efficiency | Latency-500K/8 | 1,024 | 341,457 | 3028358.1us | 7604224.0us | 787.2% | 57MiB |
| Workload | JSON Comp | 4,096 | 369,061 | 11.07ms | 25.50ms | 6447.4% | 245MiB |
| Workload | JSON Comp | 16,384 | 363,387 | 44.73ms | 71.40ms | 6219.8% | 448MiB |
| Workload | JSON TLS | 4,096 | 918,913 | 4.42ms | 41.00ms | 6420.4% | 308MiB |
| Workload | 8Gbit | 512 | 49,333 | 97.7us | 131.0us | 218.1% | 185MiB |
| Workload | Static TLS | 1,024 | 219,932 | 4.67ms | 48.32ms | 6255.9% | 727MiB |
| Database | Async DB | 1,024 | 277,476 | 3.10ms | 18.00ms | 4893.7% | 211MiB |
| Database | Fortunes | 1,024 | 208,480 | 3.35ms | 10.70ms | 5979.8% | 210MiB |
| HTTP/2 | Baseline | 256 | 1,927,721 | 13.52ms | 61.34ms | 6482.1% | 325MiB |
| HTTP/2 | Baseline | 1,024 | 1,856,871 | 52.55ms | 212.89ms | 6456.1% | 798MiB |
| HTTP/2 | Static | 256 | 204,964 | 41.02ms | 158.83ms | 6052.3% | 448MiB |
| HTTP/2 | Static | 1,024 | 192,153 | 161.88ms | 519.43ms | 6339.2% | 1.2GiB |
| WebSocket | Echo | 512 | 2,874,719 | 177us | 313us | 6611.7% | 1.2GiB |
| WebSocket | Echo | 4,096 | 2,891,577 | 1.41ms | 1.81ms | 6469.5% | 1.3GiB |
| WebSocket | Echo | 16,384 | 2,694,479 | 5.92ms | 7.18ms | 6317.0% | 1.6GiB |
| WebSocket | Echo Pipelined | 512 | 4,570,133 | 1.79ms | 3.19ms | 6496.2% | 1.2GiB |
| WebSocket | Echo Pipelined | 4,096 | 4,749,599 | 13.57ms | 17.30ms | 6416.2% | 1.3GiB |
| WebSocket | Echo Pipelined | 16,384 | 4,683,397 | 42.50ms | 62.00ms | 6620.4% | 1.6GiB |
| WebSocket | Echo Short-lived | 512 | 123,043 | 2.94ms | 13.30ms | 5987.5% | 1.2GiB |
| WebSocket | Echo Short-lived | 4,096 | 121,854 | 9.44ms | 16.00ms | 6348.9% | 1.2GiB |
Compared with
The Perl entries around feersum on the HTTP/1.1 composite, and the one leading them. The last column shows every profile side by side.
| Entry | Composite | vs feersum | |
|---|---|---|---|
| mojolicious | 402 | -92% | head to head |
Compare feersum with any Perl entry · Compare feersum with any entry, in any language · Every Perl entry, ranked
Results updated · How the benchmark is run · The machine · Add or fix an entry