HttpArena
Frameworks

genhttp-ioxide

Emerging · C# · engine: ioxide · tuned configuration · completeness 4/4

GenHTTP 11 on .NET 11 on a custom io_uring server engine (the ioxide runtime) instead of the default socket engine. Uses GenHTTP's published ioxide engine packages (GenHTTP.Engine.Ioxide / GenHTTP.Modules.IoxideFiles, PR #860, merged). Responses go through GenHTTP's own routing + serialization; Postgres rides ioxide.pg (per-reactor ring-native pool) and json-tls rides ioxide.tls (kTLS TX) on :8081.

Achievements

🥇 5 Gold · 🥉 1 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 · HTTP/1.11 of 91
🥇 GoldWithin its languageC# · HTTP/1.11 of 10
🥇 GoldWithin its languageC# · WebSocket1 of 7
🥇 GoldTest profileConnection · Baseline1 of 91
🥇 GoldTest profileConnection · Short-lived1 of 91
🥉 BronzeTest profileWebSocket · Echo Pipelined3 of 22

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.11 of 916211
WebSocket4 of 262364

Every result

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

CategoryProfileConnsReq/secAvgp99CPUMemory
ConnectionBaseline4,0963,184,4881.28ms4.45ms5771.9%525MiB
ConnectionPipelined4,09621,410,0873.06ms7.04ms6026.4%518MiB
ConnectionShort-lived4,0962,574,4851.50ms5.01ms5913.7%676MiB
EfficiencyLatency-10K1,0249,98273.9us108.0us25.6%330MiB
EfficiencyLatency-1M1,024998,032127.8us1181.0us2496.0%330MiB
WorkloadJSON Comp4,096565,4667.23ms23.40ms6120.0%821MiB
WorkloadJSON Comp16,384558,79929.13ms59.40ms6315.1%1.1GiB
WorkloadJSON TLS4,0961,011,3864.18ms90.22ms6064.0%1.1GiB
Workload8Gbit51249,344133.4us1205.0us308.1%643MiB
DatabaseAsync DB1,024276,0523.11ms10.70ms3568.9%606MiB
WebSocketEcho5123,091,049165us472us6037.8%379MiB
WebSocketEcho4,0963,224,1801.27ms5.05ms5870.7%614MiB
WebSocketEcho16,3842,692,3816.03ms17.00ms5807.4%1.1GiB
WebSocketEcho Pipelined51234,962,051233us1.65ms5771.5%378MiB
WebSocketEcho Pipelined4,09636,136,2201.81ms8.00ms6061.6%591MiB
WebSocketEcho Pipelined16,38429,692,5508.80ms23.30ms5789.8%1.3GiB
WebSocketEcho Short-lived5121,849,670192us639us5545.5%446MiB
WebSocketEcho Short-lived4,0962,138,4421.47ms8.97ms5792.2%701MiB

Compared with

The C# entries around genhttp-ioxide on the HTTP/1.1 composite, and the one leading them. The last column shows every profile side by side.

EntryCompositevs genhttp-ioxide
simplew-tuned5352-14%head to head
ioxide4834-22%head to head

Compare genhttp-ioxide with any C# entry · Compare genhttp-ioxide with any entry, in any language · Every C# entry, ranked

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