HttpArena
Frameworks

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.

MedalAwardFieldRank
🥇 GoldFamily compositeComposite · Gateway1 of 6
🥇 GoldWithin its languageJS · HTTP/1.11 of 8
🥇 GoldTest profileGateway · Gateway (H2)1 of 5
🥇 GoldTest profileGateway · Gateway (H3)1 of 5
🥈 SilverTest profileGateway · Production Stack2 of 3
🥈 SilverTest profileWebSocket · Echo2 of 26
🥈 SilverTest profileWebSocket · Echo Short-lived2 of 12
🥉 BronzeFamily compositeComposite · WebSocket3 of 26
🥉 BronzeTest profileEfficiency · Latency-1M3 of 92
🥉 BronzeTest profileWorkload · JSON Comp3 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.

FamilyRankComposite
HTTP/1.16 of 925160
Gateway1 of 62536
WebSocket3 of 262444

Every result

Alpha Round, 27 runs. Requests per second is the best of three; latency, CPU and memory come from that run.

CategoryProfileConnsReq/secAvgp99CPUMemory
ConnectionBaseline4,0961,595,5572.57ms3.56ms6551.1%2.6GiB
ConnectionPipelined4,09632,750,2792.00ms4.07ms6349.1%2.1GiB
ConnectionShort-lived4,0961,450,8102.81ms11.30ms6354.8%2.6GiB
ConcurrencyAsync Delay32,0002,110,74715.02ms17.20ms6367.9%5.7GiB
EfficiencyLatency-10K1,0249,98284.3us122.0us37.7%2.1GiB
EfficiencyLatency-1M1,024998,214129.3us263.0us3670.3%2.5GiB
WorkloadJSON Comp4,096474,1408.62ms27.10ms6357.3%7.6GiB
WorkloadJSON Comp16,384491,53032.95ms77.90ms6245.6%8.5GiB
WorkloadJSON TLS4,0961,030,2773.97ms84.51ms6575.2%8.2GiB
Workload8Gbit51249,364113.8us162.0us318.9%2.7GiB
WorkloadStatic TLS1,024595,6861.72ms14.93ms6585.4%3.3GiB
DatabaseAsync DB1,024239,9353.76ms16.20ms5813.2%6.2GiB
DatabaseFortunes1,02470,70513.21ms26.00ms6506.8%6.1GiB
GatewayGateway (H2)512314,54154.90ms403.48ms5473.9%5.1GiB
GatewayGateway (H2)1,024311,169102.14ms861.84ms6032.4%6.5GiB
GatewayGateway (H3)6490,28522.54ms85.02ms3252.8%3.4GiB
GatewayGateway (H3)25662,553127.14ms756.13ms2434.9%4.7GiB
GatewayProduction Stack256120,77034.84ms139.34ms2878.3%3.7GiB
GatewayProduction Stack1,024105,395127.01ms3.84s2639.5%4.4GiB
WebSocketEcho5123,701,735137us360us6393.0%2.3GiB
WebSocketEcho4,0963,772,0361.08ms2.30ms6279.7%2.4GiB
WebSocketEcho16,3843,538,1654.59ms8.92ms6173.2%2.5GiB
WebSocketEcho Pipelined51223,989,939340us941us6721.9%2.3GiB
WebSocketEcho Pipelined4,09624,204,6172.71ms5.17ms6533.3%2.4GiB
WebSocketEcho Pipelined16,38422,945,07811.22ms14.80ms6261.9%2.6GiB
WebSocketEcho Short-lived5122,084,011152us546us5672.1%2.4GiB
WebSocketEcho Short-lived4,0962,553,6201.06ms2.81ms6262.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.

EntryCompositevs fulmine.js-tuned
fulmine.js5116-1%head to head
hyper-express4068-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