HttpArena
Frameworks

aspnet-minimal

Flagship · C# · engine: kestrel · standard configuration · completeness 4/4

Minimal ASP.NET Core server using .NET 10 with Kestrel and minimal API routing.

Achievements

🥈 4 Silver · 🥉 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
🥈 SilverFamily compositeComposite · gRPC2 of 4
🥈 SilverWithin its languageC# · WebSocket2 of 3
🥈 SilverTest profilegRPC · Unary2 of 4
🥈 SilverTest profilegRPC · Unary TLS2 of 4
🥉 BronzeWithin its languageC# · HTTP/1.13 of 6
🥉 BronzeTest profileHTTP/3 · Baseline3 of 7

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.122 of 713227
HTTP/26 of 18989
HTTP/35 of 7598
gRPC2 of 41166
WebSocket6 of 15890

Every result

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

CategoryProfileConnsReq/secAvgp99CPUMemory
ConnectionBaseline4,0961,279,8172.75ms8.65ms5503.3%352MiB
ConnectionPipelined4,0967,049,7807.87ms20.90ms5633.6%346MiB
ConnectionShort-lived4,096461,3671.44ms12.30ms3388.6%153MiB
ConcurrencyAsync Delay32,000898,86328.21ms56.80ms4649.8%1.8GiB
EfficiencyLatency-10K1,0249,982110.2us129.0us141.0%247MiB
EfficiencyLatency-1M1,024997,727524.9us4378.0us4329.7%261MiB
EfficiencyLatency-500K/81,024295,7804042092.4us8038400.0us736.1%230MiB
WorkloadJSON Comp4,096335,3309.61ms37.60ms5909.3%581MiB
WorkloadJSON Comp16,384335,27720.36ms61.70ms6094.4%661MiB
WorkloadJSON TLS4,096505,6178.32ms104.21ms6048.0%805MiB
Workload8Gbit51249,316201.5us1995.0us877.1%319MiB
WorkloadStatic TLS1,024243,3294.36ms35.58ms5212.8%462MiB
DatabaseAsync DB1,024163,3105.66ms18.60ms3625.6%414MiB
DatabaseFortunes1,02475,53911.36ms33.60ms5496.7%460MiB
HTTP/2Baseline2562,202,29111.49ms78.02ms6088.2%1.0GiB
HTTP/2Baseline1,0242,083,36550.72ms319.41ms5883.1%3.8GiB
HTTP/2Static256184,83743.65ms245.59ms5889.5%933MiB
HTTP/2Static1,024123,587252.14ms1.32s5845.2%2.9GiB
HTTP/2Baseline (h2c)2562,684,2469.75ms60.80ms6240.9%1.0GiB
HTTP/2Baseline (h2c)1,0242,454,07743.84ms310.39ms5967.7%4.5GiB
HTTP/2Baseline (h2c)4,0961,280,412178.40ms884.79ms5313.2%7.8GiB
HTTP/2JSON (h2c)1,024690,43947.73ms282.09ms6158.8%1.5GiB
HTTP/2JSON (h2c)4,096595,760164.52ms1.47s5930.0%5.2GiB
HTTP/3Baseline64626,2885.87ms22.32ms6087.5%1.2GiB
HTTP/3Static64120,52133.88ms154.00ms4867.5%1.9GiB
gRPCUnary2562,491,23210.56ms10.56ms5624.0%1007.0MiB
gRPCUnary1,0242,338,52541.35ms41.35ms6207.7%2.5GiB
gRPCUnary TLS2562,058,16112.19ms12.19ms6079.8%818.2MiB
gRPCUnary TLS1,0241,826,31656.98ms56.98ms5281.5%2.8GiB
WebSocketEcho5121,835,273278us696us6128.2%220.4MiB
WebSocketEcho4,0961,806,9961.72ms5.25ms6120.1%389.2MiB
WebSocketEcho16,3841,686,0223.63ms10.10ms6033.9%456.1MiB
WebSocketEcho Pipelined51219,748,819414us2.08ms5700.1%225MiB
WebSocketEcho Pipelined4,09619,744,7581.92ms7.12ms5656.8%380MiB
WebSocketEcho Pipelined16,38419,407,9602.94ms9.60ms5864.6%380MiB

Compared with

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

EntryCompositevs aspnet-minimal
genhttp-ioxide7074+119%head to head
effinitive3601+12%head to head
carter3496+8%head to head
fastendpoints3098-4%head to head
kestrel2583-20%head to head

Compare aspnet-minimal with any C# entry · Compare aspnet-minimal with any entry, in any language · Every C# entry, ranked

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