HttpArena
Frameworks

spliffy

Emerging · JS · engine: uwebsockets · standard configuration · completeness 4/4

spliffy: directory based routing on uWebSockets.js. A route is a file, a handler returns the response, static files and WebSockets come from the same tree.

Achievements

🥇 3 Gold · 🥈 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.

MedalAwardFieldRank
🥇 GoldWithin its languageJS · HTTP/1.11 of 7
🥇 GoldWithin its languageJS · WebSocket1 of 3
🥇 GoldTest profileConcurrency · Async Delay1 of 75
🥈 SilverFamily compositeComposite · WebSocket2 of 24

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.15 of 786424
WebSocket2 of 242456

Every result

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

CategoryProfileConnsReq/secAvgp99CPUMemory
ConnectionBaseline4,0961,937,8792.11ms2.99ms6770.1%1.7GiB
ConnectionPipelined4,09632,285,4992.03ms3.63ms6427.3%1.2GiB
ConnectionShort-lived4,0961,729,1782.35ms9.35ms6587.9%1.7GiB
ConcurrencyAsync Delay32,0002,265,48014.01ms15.90ms6348.5%4.8GiB
EfficiencyLatency-10K1,0249,97883.0us115.0us32.9%1.3GiB
EfficiencyLatency-1M1,024997,394123.4us211.0us3101.9%1.5GiB
EfficiencyLatency-500K/81,024412,0721672066.6us4700160.0us792.3%230MiB
WorkloadJSON Comp4,096398,11710.28ms29.30ms6277.8%9.2GiB
WorkloadJSON Comp16,384395,37241.01ms94.10ms6242.2%9.8GiB
WorkloadJSON TLS4,0961,074,3643.79ms33.15ms6580.3%1.8GiB
Workload8Gbit51249,365105.1us146.0us288.2%1.8GiB
WorkloadStatic TLS1,024601,2761.72ms39.24ms6563.4%1.7GiB
DatabaseAsync DB1,024209,7554.37ms19.70ms6136.1%2.9GiB
DatabaseFortunes1,02462,68515.06ms25.30ms6411.5%3.8GiB
WebSocketEcho5123,681,188138us356us6390.2%1.5GiB
WebSocketEcho4,0963,772,7101.08ms2.27ms6539.3%1.5GiB
WebSocketEcho16,3843,542,5244.59ms9.09ms6105.6%1.6GiB
WebSocketEcho Pipelined51225,109,702325us882us6753.1%1.5GiB
WebSocketEcho Pipelined4,09625,019,4402.62ms4.62ms6545.8%1.6GiB
WebSocketEcho Pipelined16,38423,675,25710.88ms14.20ms6283.9%1.7GiB
WebSocketEcho Short-lived5122,082,229147us515us5485.5%1.5GiB
WebSocketEcho Short-lived4,0962,523,7851.08ms2.50ms6214.6%1.6GiB

Compared with

The JS entries around spliffy on the HTTP/1.1 composite, and the one leading them. The last column shows every profile side by side.

EntryCompositevs spliffy
fulmine.js6200-3%head to head
morojs5652-12%head to head

Compare spliffy with any JS entry · Compare spliffy with any entry, in any language · Every JS entry, ranked

Results updated · How the benchmark is run · The machine · Add or fix an entry