ultimate-express
Emerging · JS · engine: uwebsockets · tuned configuration · completeness 4/4
ultimate-express (Express API on uWebSockets.js) with the cluster module for multi-core scaling.
Achievements
🥉 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 |
|---|---|---|---|
| 🥉 Bronze | Within its language | JS · HTTP/1.1 | 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 | 15 of 93 | 4584 |
Every result
Alpha Round, 14 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 | 1,169,575 | 3.50ms | 6.46ms | 6734.7% | 7.7GiB |
| Connection | Pipelined | 4,096 | 4,451,574 | 14.72ms | 37.90ms | 6380.7% | 8.2GiB |
| Connection | Short-lived | 4,096 | 1,085,526 | 3.76ms | 15.70ms | 6613.9% | 7.6GiB |
| Concurrency | Async Delay | 32,000 | 1,500,856 | 21.17ms | 32.80ms | 6474.8% | 7.0GiB |
| Efficiency | Latency-10K | 1,024 | 9,982 | 120.6us | 204.0us | 82.6% | 3.6GiB |
| Efficiency | Latency-1M | 1,024 | 997,627 | 237.8us | 901.0us | 4733.1% | 6.7GiB |
| Efficiency | Latency-500K/8 | 1,024 | 229,993 | 5330565.2us | 11456512.0us | 775.0% | 990MiB |
| Workload | JSON Comp | 4,096 | 355,458 | 11.51ms | 38.10ms | 6352.6% | 8.9GiB |
| Workload | JSON Comp | 16,384 | 375,419 | 43.06ms | 99.50ms | 6316.3% | 10.2GiB |
| Workload | JSON TLS | 4,096 | 843,414 | 4.85ms | 73.80ms | 6607.3% | 7.5GiB |
| Workload | 8Gbit | 512 | 49,358 | 146.9us | 252.0us | 554.5% | 7.4GiB |
| Workload | Static TLS | 1,024 | 345,081 | 3.12ms | 42.35ms | 6533.4% | 8.3GiB |
| Database | Async DB | 1,024 | 184,685 | 5.10ms | 29.00ms | 6149.2% | 8.2GiB |
| Database | Fortunes | 1,024 | 81,600 | 11.33ms | 21.80ms | 6546.4% | 6.8GiB |
Compared with
The JS entries around ultimate-express on the HTTP/1.1 composite, and the one leading them. The last column shows every profile side by side.
| Entry | Composite | vs ultimate-express | |
|---|---|---|---|
| fulmine.js | 6248 | +36% | head to head |
| hyper-express | 4801 | +5% | head to head |
| node-h3 | 2903 | -37% | head to head |
| fastify | 2444 | -47% | head to head |
Compare ultimate-express with any JS entry · Compare ultimate-express with any entry, in any language · Every JS entry, ranked
Results updated · How the benchmark is run · The machine · Add or fix an entry