ring-jetty9-adapter
Engine · Clojure · engine: Jetty
Minimal Ring Jetty9 adapter HTTP engine benchmark with HTTP/1.1, TLS, HTTP/2, H2C, and WebSocket support.
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 | Clojure · HTTP/1.1 | 1 of 8 |
| 🥈 Silver | Within its language | Clojure · HTTP/2 | 2 of 5 |
| 🥉 Bronze | Within its language | Clojure · WebSocket | 3 of 7 |
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 | 21 of 34 | 1667 |
| HTTP/2 | 9 of 12 | 65 |
| WebSocket | 12 of 16 | 421 |
Every result
Alpha Round, 29 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 | 638,398 | 3.35ms | 6.93ms | 3608.5% | 14.2GiB |
| Connection | Pipelined | 4,096 | 1,536,197 | 21.01ms | 59.90ms | 4243.8% | 6.7GiB |
| Connection | Short-lived | 4,096 | 458,583 | 4.57ms | 12.20ms | 3090.0% | 14.3GiB |
| Concurrency | Async Delay | 32,000 | 4,086 | 1.76s | 5.00s | 127.7% | 1.1GiB |
| Efficiency | Latency-10K | 1,024 | 9,771 | 93.8us | 129.0us | 62.4% | 596MiB |
| Efficiency | Latency-1M | 1,024 | 661,711 | 3024086.8us | 7198720.0us | 3357.6% | 1.7GiB |
| Efficiency | Latency-500K/8 | 1,024 | 194,104 | 5407530.7us | 12210176.0us | 784.1% | 777MiB |
| Workload | JSON Comp | 4,096 | 40,936 | 50.71ms | 323.70ms | 4180.0% | 5.3GiB |
| Workload | JSON Comp | 16,384 | 38,644 | 110.40ms | 925.60ms | 4058.9% | 15.2GiB |
| Workload | JSON TLS | 4,096 | 71,441 | 57.45ms | 171.88ms | 4287.8% | 5.6GiB |
| Workload | 8Gbit | 512 | 47,822 | 140.6us | 713.0us | 502.3% | 995MiB |
| Workload | Static TLS | 1,024 | 91,547 | 12.43ms | 66.47ms | 4307.1% | 2.1GiB |
| HTTP/2 | Baseline | 256 | 290,179 | 87.45ms | 136.76ms | 1576.5% | 5.1GiB |
| HTTP/2 | Baseline | 1,024 | 250,358 | 323.82ms | 518.73ms | 1379.0% | 5.5GiB |
| HTTP/2 | Static | 256 | 45,076 | 172.22ms | 494.75ms | 2021.7% | 1.9GiB |
| HTTP/2 | Static | 1,024 | 33,869 | 610.79ms | 1.27s | 1322.7% | 2.0GiB |
| HTTP/2 | Baseline (h2c) | 256 | 354,672 | 71.26ms | 259.74ms | 1946.2% | 5.0GiB |
| HTTP/2 | Baseline (h2c) | 1,024 | 339,151 | 236.02ms | 1.12s | 1673.3% | 5.4GiB |
| HTTP/2 | Baseline (h2c) | 4,096 | 308,772 | 637.33ms | 2.90s | 1415.9% | 15.2GiB |
| HTTP/2 | JSON (h2c) | 1,024 | 70,272 | 347.92ms | 1.64s | 3957.1% | 5.0GiB |
| HTTP/2 | JSON (h2c) | 4,096 | 71,258 | 951.55ms | 4.96s | 3811.1% | 14.6GiB |
| WebSocket | Echo | 512 | 712,786 | 643us | 1.28ms | 2504.4% | 1.9GiB |
| WebSocket | Echo | 4,096 | 797,189 | 2.12ms | 5.83ms | 2951.5% | 4.3GiB |
| WebSocket | Echo | 16,384 | 729,998 | 5.88ms | 15.20ms | 3107.0% | 4.3GiB |
| WebSocket | Echo Pipelined | 512 | 3,367,812 | 247us | 290us | 4181.6% | 13.5GiB |
| WebSocket | Echo Pipelined | 4,096 | 3,099,115 | 781us | 317us | 4304.3% | 9.1GiB |
| WebSocket | Echo Pipelined | 16,384 | 3,073,414 | 2.82ms | 4.44ms | 4002.9% | 14.0GiB |
| WebSocket | Echo Short-lived | 512 | 459,153 | 819us | 1.76ms | 2499.3% | 1.9GiB |
| WebSocket | Echo Short-lived | 4,096 | 505,156 | 2.20ms | 5.94ms | 2711.4% | 2.7GiB |
Compared with
The Clojure entries around ring-jetty9-adapter on the HTTP/1.1 composite, and the one leading them. The last column shows every profile side by side.
| Entry | Composite | vs ring-jetty9-adapter | |
|---|---|---|---|
| ring-http-exchange | 3649 | +119% | head to head |
| reitit | 1751 | +5% | head to head |
| ring-jetty-adapter | 1614 | -3% | head to head |
| aleph | 1402 | -16% | head to head |
Compare ring-jetty9-adapter with any Clojure entry · Compare ring-jetty9-adapter with any entry, in any language · Every Clojure entry, ranked
Results updated · How the benchmark is run · The machine · Add or fix an entry