fulmine.js-tuned
Emerging · JS · engine: uwebsockets · tuned configuration · completeness 4/4
fulmine.js with the caches its standard entry has to leave off: the in-memory small-file cache and the stat cache, both shipped settings, both forbidden to a standard entry because they keep a static request off the disk.
Achievements
🥇 4 Gold · 🥈 3 Silver · 🥉 3 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 | Family composite | Composite · Gateway | 1 of 6 |
| 🥇 Gold | Within its language | JS · HTTP/1.1 | 1 of 8 |
| 🥇 Gold | Test profile | Gateway · Gateway (H2) | 1 of 5 |
| 🥇 Gold | Test profile | Gateway · Gateway (H3) | 1 of 5 |
| 🥈 Silver | Test profile | Gateway · Production Stack | 2 of 3 |
| 🥈 Silver | Test profile | WebSocket · Echo | 2 of 26 |
| 🥈 Silver | Test profile | WebSocket · Echo Short-lived | 2 of 12 |
| 🥉 Bronze | Family composite | Composite · WebSocket | 3 of 26 |
| 🥉 Bronze | Test profile | Efficiency · Latency-1M | 3 of 92 |
| 🥉 Bronze | Test profile | Workload · JSON Comp | 3 of 89 |
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 | 6 of 92 | 5160 |
| Gateway | 1 of 6 | 2536 |
| WebSocket | 3 of 26 | 2444 |
Every result
Alpha Round, 27 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,595,557 | 2.57ms | 3.56ms | 6551.1% | 2.6GiB |
| Connection | Pipelined | 4,096 | 32,750,279 | 2.00ms | 4.07ms | 6349.1% | 2.1GiB |
| Connection | Short-lived | 4,096 | 1,450,810 | 2.81ms | 11.30ms | 6354.8% | 2.6GiB |
| Concurrency | Async Delay | 32,000 | 2,110,747 | 15.02ms | 17.20ms | 6367.9% | 5.7GiB |
| Efficiency | Latency-10K | 1,024 | 9,982 | 84.3us | 122.0us | 37.7% | 2.1GiB |
| Efficiency | Latency-1M | 1,024 | 998,214 | 129.3us | 263.0us | 3670.3% | 2.5GiB |
| Workload | JSON Comp | 4,096 | 474,140 | 8.62ms | 27.10ms | 6357.3% | 7.6GiB |
| Workload | JSON Comp | 16,384 | 491,530 | 32.95ms | 77.90ms | 6245.6% | 8.5GiB |
| Workload | JSON TLS | 4,096 | 1,030,277 | 3.97ms | 84.51ms | 6575.2% | 8.2GiB |
| Workload | 8Gbit | 512 | 49,364 | 113.8us | 162.0us | 318.9% | 2.7GiB |
| Workload | Static TLS | 1,024 | 595,686 | 1.72ms | 14.93ms | 6585.4% | 3.3GiB |
| Database | Async DB | 1,024 | 239,935 | 3.76ms | 16.20ms | 5813.2% | 6.2GiB |
| Database | Fortunes | 1,024 | 70,705 | 13.21ms | 26.00ms | 6506.8% | 6.1GiB |
| Gateway | Gateway (H2) | 512 | 314,541 | 54.90ms | 403.48ms | 5473.9% | 5.1GiB |
| Gateway | Gateway (H2) | 1,024 | 311,169 | 102.14ms | 861.84ms | 6032.4% | 6.5GiB |
| Gateway | Gateway (H3) | 64 | 90,285 | 22.54ms | 85.02ms | 3252.8% | 3.4GiB |
| Gateway | Gateway (H3) | 256 | 62,553 | 127.14ms | 756.13ms | 2434.9% | 4.7GiB |
| Gateway | Production Stack | 256 | 120,770 | 34.84ms | 139.34ms | 2878.3% | 3.7GiB |
| Gateway | Production Stack | 1,024 | 105,395 | 127.01ms | 3.84s | 2639.5% | 4.4GiB |
| WebSocket | Echo | 512 | 3,701,735 | 137us | 360us | 6393.0% | 2.3GiB |
| WebSocket | Echo | 4,096 | 3,772,036 | 1.08ms | 2.30ms | 6279.7% | 2.4GiB |
| WebSocket | Echo | 16,384 | 3,538,165 | 4.59ms | 8.92ms | 6173.2% | 2.5GiB |
| WebSocket | Echo Pipelined | 512 | 23,989,939 | 340us | 941us | 6721.9% | 2.3GiB |
| WebSocket | Echo Pipelined | 4,096 | 24,204,617 | 2.71ms | 5.17ms | 6533.3% | 2.4GiB |
| WebSocket | Echo Pipelined | 16,384 | 22,945,078 | 11.22ms | 14.80ms | 6261.9% | 2.6GiB |
| WebSocket | Echo Short-lived | 512 | 2,084,011 | 152us | 546us | 5672.1% | 2.4GiB |
| WebSocket | Echo Short-lived | 4,096 | 2,553,620 | 1.06ms | 2.81ms | 6262.5% | 2.4GiB |
Compared with
The JS entries around fulmine.js-tuned on the HTTP/1.1 composite, and the one leading them. The last column shows every profile side by side.
| Entry | Composite | vs fulmine.js-tuned | |
|---|---|---|---|
| fulmine.js | 5116 | -1% | head to head |
| hyper-express | 4068 | -21% | head to head |
Compare fulmine.js-tuned with any JS entry · Compare fulmine.js-tuned with any entry, in any language · Every JS entry, ranked
Results updated · How the benchmark is run · The machine · Add or fix an entry