http-kit
Engine · Clojure
Minimal http-kit engine benchmark with HTTP/1.1 and native WebSocket echo support.
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 | 31 of 34 | 839 |
| WebSocket | 15 of 16 | 136 |
Every result
Alpha Round, 17 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 | 154,342 | 6.25ms | 14.00ms | 508.8% | 1.8GiB |
| Connection | Pipelined | 4,096 | 317,973 | 36.32ms | 56.50ms | 775.5% | 1.8GiB |
| Connection | Short-lived | 4,096 | 117,411 | 3.74ms | 9.22ms | 421.7% | 1.8GiB |
| Concurrency | Async Delay | 32,000 | 71,966 | 212.58ms | 242.60ms | 262.0% | 815MiB |
| Efficiency | Latency-10K | 1,024 | 9,864 | 98.3us | 115.0us | 42.7% | 388MiB |
| Efficiency | Latency-1M | 1,024 | 145,717 | 8124889.5us | 16740352.0us | 421.8% | 752MiB |
| Efficiency | Latency-500K/8 | 1,024 | 156,022 | 6447004.6us | 13340672.0us | 406.4% | 611MiB |
| Workload | JSON Comp | 4,096 | 47,220 | 20.02ms | 48.30ms | 6475.6% | 5.2GiB |
| Workload | JSON Comp | 16,384 | 45,853 | 49.29ms | 130.40ms | 6658.8% | 5.2GiB |
| WebSocket | Echo | 512 | 224,529 | 1.59ms | 2.05ms | 761.7% | 349MiB |
| WebSocket | Echo | 4,096 | 208,554 | 3.32ms | 9.19ms | 547.5% | 388MiB |
| WebSocket | Echo | 16,384 | 205,560 | 8.47ms | 15.40ms | 489.0% | 372MiB |
| WebSocket | Echo Pipelined | 512 | 2,281,215 | 2.92ms | 4.32ms | 884.9% | 666MiB |
| WebSocket | Echo Pipelined | 4,096 | 2,064,398 | 4.12ms | 7.04ms | 1142.2% | 694MiB |
| WebSocket | Echo Pipelined | 16,384 | 1,988,812 | 6.67ms | 17.70ms | 1092.1% | 707MiB |
| WebSocket | Echo Short-lived | 512 | 131,109 | 2.05ms | 3.41ms | 678.3% | 431MiB |
| WebSocket | Echo Short-lived | 4,096 | 133,387 | 2.31ms | 3.48ms | 391.3% | 421MiB |
Compared with
The Clojure entries around http-kit on the HTTP/1.1 composite, and the one leading them. The last column shows every profile side by side.
| Entry | Composite | vs http-kit | |
|---|---|---|---|
| ring-http-exchange | 3649 | +335% | head to head |
| hirundo | 1268 | +51% | head to head |
| pedestal | 1146 | +37% | head to head |
| capra | 665 | -21% | head to head |
| busker | 21 | -97% | head to head |
Compare http-kit with any Clojure entry · Compare http-kit with any entry, in any language · Every Clojure entry, ranked
Results updated · How the benchmark is run · The machine · Add or fix an entry