hyper-express
Emerging · JS · engine: uwebsockets · tuned configuration · completeness 4/4
hyper-express (Express-like API on uWebSockets.js) with the cluster module for multi-core scaling.
Achievements
🥈 1 Silver. 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 |
|---|---|---|---|
| 🥈 Silver | Within its language | JS · HTTP/1.1 | 2 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 | 13 of 93 | 4801 |
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,167,706 | 3.51ms | 7.19ms | 6554.9% | 5.6GiB |
| Connection | Pipelined | 4,096 | 3,516,134 | 18.64ms | 23.10ms | 6440.4% | 2.3GiB |
| Connection | Short-lived | 4,096 | 1,082,245 | 3.77ms | 16.20ms | 6429.5% | 5.9GiB |
| Concurrency | Async Delay | 32,000 | 1,440,503 | 22.06ms | 27.00ms | 6491.3% | 5.3GiB |
| Efficiency | Latency-10K | 1,024 | 9,982 | 97.5us | 142.0us | 51.9% | 1.2GiB |
| Efficiency | Latency-1M | 1,024 | 997,924 | 347.2us | 697.0us | 4872.0% | 1.4GiB |
| Efficiency | Latency-500K/8 | 1,024 | 221,044 | 5517372.6us | 11530240.0us | 736.5% | 286MiB |
| Workload | JSON Comp | 4,096 | 437,977 | 9.33ms | 26.80ms | 6306.8% | 9.0GiB |
| Workload | JSON Comp | 16,384 | 436,029 | 37.31ms | 88.00ms | 6587.2% | 8.7GiB |
| Workload | JSON TLS | 4,096 | 801,048 | 5.09ms | 121.61ms | 6632.6% | 1.8GiB |
| Workload | 8Gbit | 512 | 49,347 | 135.6us | 207.0us | 439.7% | 6.3GiB |
| Workload | Static TLS | 1,024 | 410,499 | 2.55ms | 33.11ms | 6522.0% | 2.4GiB |
| Database | Async DB | 1,024 | 199,327 | 4.66ms | 23.10ms | 6106.7% | 2.9GiB |
| Database | Fortunes | 1,024 | 83,872 | 11.03ms | 21.60ms | 6534.6% | 3.8GiB |
Compared with
The JS entries around hyper-express on the HTTP/1.1 composite, and the one leading them. The last column shows every profile side by side.
| Entry | Composite | vs hyper-express | |
|---|---|---|---|
| fulmine.js | 6248 | +30% | head to head |
| ultimate-express | 4584 | -5% | head to head |
| node-h3 | 2903 | -40% | head to head |
Compare hyper-express with any JS entry · Compare hyper-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