HttpArena
Frameworks

vanilla-ws

Engine · V · engine: epoll

WebSocket echo on vanilla's conn-mode seam: one epoll engine, two protocols on the same connection. The HTTP handler validates the RFC 6455 upgrade as a pure function, appends the 101 and hands the connection over (core.queue_takeover); from then on every readable burst is fed to a ConnHandler instead of the HTTP/1.1 state machine. The websocket module is a pure RFC 6455 codec (accept-key, frame-head parsing, in-place unmasking, unmasked server-frame writers). Read buffering/compaction, batched flushes and EPOLLOUT backpressure are the engine's own, so a pipelined burst of frames is drained in one handler call and coalesced into one write. Multi-threaded, SO_REUSEPORT, lock-free, -gc none.

Achievements

🥉 2 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
🥉 BronzeFamily compositeComposite · WebSocket3 of 18
🥉 BronzeTest profileWebSocket · Echo Pipelined3 of 18

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
WebSocket3 of 182368

Every result

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

CategoryProfileConnsReq/secAvgp99CPUMemory
WebSocketEcho5124,329,153117us149us6423.5%43MiB
WebSocketEcho4,0964,287,978945us1.02ms6098.0%102MiB
WebSocketEcho16,3844,066,6643.90ms4.18ms6409.7%373MiB
WebSocketEcho Pipelined51265,963,734123us157us6470.8%41MiB
WebSocketEcho Pipelined4,09664,150,9751.02ms1.14ms6159.6%121MiB
WebSocketEcho Pipelined16,38460,761,4954.23ms7.52ms6290.3%373MiB
WebSocketEcho Short-lived5121,013,54948us111us3477.0%1.2GiB
WebSocketEcho Short-lived4,0961,012,44449us125us3453.3%746MiB

Compare vanilla-ws with any V entry · Compare vanilla-ws with any entry, in any language · Every V entry, ranked

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