Leaderboard
Leaderboard
Round
Current
i9 14900K
+
Composite
HTTP/1.1
HTTP/2
HTTP/3
gRPC
WebSocket
Filters + (expand)
Lang
(Toggle)
All
C
C#
C++
Crystal
Elixir
Gleam
Go
Java
JS
Kotlin
Lua
Nim
Python
Ruby
Rust
Swift
TS
Zig
Filter
* Engine entries are bare-metal HTTP servers without framework overhead. They are shown for reference but are not directly comparable to full frameworks.
Results
Baseline
Short-lived Con.
JSON Processing
Upload (20 MB)
Compression
Noisy
Mixed Workload
Pipelined (16)
Async DB
Each connection sends one request at a time over persistent keep-alive connections. Container limited to 64 CPU threads. Mixed GET and POST requests to
/baseline11 with query parameter parsing, Content-Length bodies, and chunked Transfer-Encoding. Best of 3 runs.⚡ CPU throttled: Containers are limited to 64 CPU threads (
--cpus=64) for this test.Type
All
Framework
Engine
Conn
Best
512
4096
16384
Click a row to expand details
#
Framework
Lang
Engine
Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
#
Framework
Lang
Engine
Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
1
ringzero
C
io_uring
512
3,465,094
277.50MB/s
546
2xx: 17,325,471
3xx: 0
4xx: 546
5xx: 0
6385.6%
4.1GiB
147us
195us
2
hyper
Rust
hyper
512
2,696,983
303.36MB/s
✓
2xx: 13,484,915
3xx: 0
4xx: 0
5xx: 0
6252.2%
41.3MiB
189us
531us
3
h2o
C
h2o
512
2,669,601
262.27MB/s
✓
2xx: 13,374,702
3xx: 0
4xx: 0
5xx: 0
6538.9%
69.1MiB
191us
1.38ms
4
ntex-iouring
Rust
io_uring
512
2,659,451
296.64MB/s
✓
2xx: 13,297,259
3xx: 0
4xx: 0
5xx: 0
6481.3%
83.7MiB
191us
354us
5
ntex-tokio
Rust
Tokio
512
2,602,144
290.25MB/s
✓
2xx: 13,010,720
3xx: 0
4xx: 0
5xx: 0
6426.9%
63.3MiB
196us
403us
6
blitz
Zig
io_uring
512
2,587,281
199.72MB/s
✓
2xx: 12,936,408
3xx: 0
4xx: 0
5xx: 0
6381.4%
4.4GiB
197us
1.20ms
7
nginx
C
nginx
512
2,518,385
340.86MB/s
✓
2xx: 12,591,926
3xx: 0
4xx: 0
5xx: 0
6326.5%
3.5GiB
202us
1.57ms
8
actix
Rust
actix
512
2,488,857
315.59MB/s
✓
2xx: 12,444,285
3xx: 0
4xx: 0
5xx: 0
6459.5%
93.0MiB
205us
356us
9
vertx
Java
Netty
512
2,099,164
132.05MB/s
✓
2xx: 10,495,823
3xx: 0
4xx: 0
5xx: 0
6468.1%
4.4GiB
243us
479us
10
quarkus-jvm
Java
Netty
512
1,798,842
173.21MB/s
✓
2xx: 8,994,213
3xx: 0
4xx: 0
5xx: 0
6558.6%
10.3GiB
284us
545us
11
drogon
C++
drogon
512
1,677,294
214.24MB/s
✓
2xx: 8,386,470
3xx: 0
4xx: 0
5xx: 0
6539.8%
71.6MiB
304us
1.73ms
12
kemal
Crystal
Kemal
512
1,600,225
248.67MB/s
✓
2xx: 8,001,126
3xx: 0
4xx: 0
5xx: 0
6605.1%
2.6GiB
319us
2.16ms
13
h2o-mruby
Ruby
h2o
512
1,420,425
213.97MB/s
✓
2xx: 7,102,126
3xx: 0
4xx: 0
5xx: 0
6553.3%
262.8MiB
360us
1.97ms
14
ultimate-express
JS
uWebSockets
512
1,369,003
250.58MB/s
✓
2xx: 6,845,016
3xx: 0
4xx: 0
5xx: 0
6704.7%
2.5GiB
373us
989us
15
deno
TS
V8
512
1,313,857
175.38MB/s
✓
2xx: 6,569,288
3xx: 0
4xx: 0
5xx: 0
6493.4%
9.2GiB
389us
1.00ms
16
FastPySGI-WSGI
Python
libuv
512
1,302,105
204.81MB/s
✓
2xx: 6,510,525
3xx: 0
4xx: 0
5xx: 0
6473.6%
389.9MiB
392us
2.07ms
17
bun
TS
JSC
512
1,296,107
127.28MB/s
✓
2xx: 6,480,536
3xx: 0
4xx: 0
5xx: 0
6601.4%
2.4GiB
394us
2.99ms
18
Elysia
TS
Bun
512
1,224,202
120.22MB/s
✓
2xx: 6,121,014
3xx: 0
4xx: 0
5xx: 0
6557.4%
5.1GiB
417us
3.38ms
19
go-fasthttp
Go
fasthttp
512
1,200,022
141.81MB/s
✓
2xx: 6,000,110
3xx: 0
4xx: 0
5xx: 0
6287.5%
74.2MiB
429us
1.96ms
20
node
JS
V8
512
1,175,237
179.27MB/s
✓
2xx: 5,876,185
3xx: 0
4xx: 0
5xx: 0
6562.3%
2.0GiB
435us
995us
21
Hono (Bun)
TS
JSC
512
1,108,947
127.92MB/s
✓
2xx: 5,544,735
3xx: 0
4xx: 0
5xx: 0
6479.9%
3.4GiB
460us
3.97ms
22
salvo
Rust
Salvo
512
1,040,166
175.53MB/s
✓
2xx: 5,200,833
3xx: 0
4xx: 0
5xx: 0
6416.3%
73.9MiB
491us
1.07ms
23
nginx-openresty
Lua
openresty
512
918,595
144.49MB/s
✓
2xx: 4,592,978
3xx: 0
4xx: 0
5xx: 0
6439.5%
4.0GiB
556us
3.09ms
24
gleam-mist
Gleam
BEAM
512
823,198
115.36MB/s
✓
2xx: 4,115,993
3xx: 0
4xx: 0
5xx: 0
6543.7%
529.1MiB
623us
1.02ms
25
prologue
Nim
asynchserver
512
818,906
65.57MB/s
✓
2xx: 4,094,530
3xx: 0
4xx: 0
5xx: 0
6483.0%
30.3GiB
624us
3.00ms
26
Koa
JS
V8
512
815,867
138.45MB/s
✓
2xx: 4,079,338
3xx: 0
4xx: 0
5xx: 0
6605.9%
2.6GiB
626us
1.47ms
27
Fastify
JS
V8
512
771,017
123.48MB/s
✓
2xx: 3,855,088
3xx: 0
4xx: 0
5xx: 0
6518.9%
5.9GiB
664us
4.77ms
28
ulfius
C
libmicrohttpd
512
642,893
63.13MB/s
✓
2xx: 3,214,466
3xx: 0
4xx: 0
5xx: 0
6447.7%
86.0MiB
794us
3.18ms
29
caddy
Go
caddy
512
583,259
65.62MB/s
✓
2xx: 2,916,298
3xx: 0
4xx: 0
5xx: 0
5284.7%
194.8MiB
878us
8.66ms
30
FastPySGI-ASGI
Python
libuv
512
581,034
91.40MB/s
✓
2xx: 2,905,172
3xx: 0
4xx: 0
5xx: 0
6352.6%
998.9MiB
876us
5.55ms
31
hono (node)
JS
Node
512
552,997
94.36MB/s
✓
2xx: 2,764,985
3xx: 0
4xx: 0
5xx: 0
6524.3%
8.5GiB
924us
3.04ms
32
spring-jvm-jetty
Java
Jetty
512
499,416
76.18MB/s
✓
2xx: 2,497,082
3xx: 0
4xx: 0
5xx: 0
6481.6%
3.7GiB
837us
4.00ms
33
aspnet-minimal
C#
Kestrel
512
484,708
65.61MB/s
✓
2xx: 2,423,542
3xx: 0
4xx: 0
5xx: 0
3143.3%
219.3MiB
1.06ms
3.87ms
34
ktor
Kotlin
Netty
512
412,593
51.92MB/s
✓
2xx: 2,062,966
3xx: 0
4xx: 0
5xx: 0
6553.9%
4.8GiB
1.24ms
18.70ms
35
fiber
Go
fiber
512
394,387
50.01MB/s
✓
2xx: 1,971,935
3xx: 0
4xx: 0
5xx: 0
2914.7%
90.8MiB
1.30ms
13.20ms
36
Starlette
Python
uvicorn
512
344,390
50.56MB/s
✓
2xx: 1,721,950
3xx: 0
4xx: 0
5xx: 0
6411.7%
4.7GiB
1.49ms
40.50ms
37
phoenix
Elixir
BEAM
512
309,330
50.73MB/s
✓
2xx: 1,546,654
3xx: 0
4xx: 0
5xx: 0
6501.9%
335.3MiB
1.65ms
3.18ms
38
hummingbird
Swift
Hummingbird
512
303,336
35.86MB/s
✓
2xx: 1,516,681
3xx: 0
4xx: 0
5xx: 0
6459.8%
83.0MiB
1.58ms
25.80ms
39
gin
Go
gin
512
291,741
36.44MB/s
✓
2xx: 1,458,708
3xx: 0
4xx: 0
5xx: 0
4395.7%
122.2MiB
1.76ms
13.00ms
40
Express
JS
V8
512
284,170
66.64MB/s
✓
2xx: 1,420,852
3xx: 0
4xx: 0
5xx: 0
6521.1%
5.5GiB
1.80ms
11.30ms
41
echo
Go
echo
512
281,236
35.39MB/s
✓
2xx: 1,406,183
3xx: 0
4xx: 0
5xx: 0
4426.0%
128.0MiB
1.82ms
13.80ms
42
FastAPI
Python
uvicorn
512
273,510
39.63MB/s
✓
2xx: 1,367,550
3xx: 0
4xx: 0
5xx: 0
6373.5%
8.4GiB
1.86ms
42.40ms
43
chi
Go
chi
512
271,586
33.92MB/s
✓
2xx: 1,357,931
3xx: 0
4xx: 0
5xx: 0
4510.1%
141.8MiB
1.89ms
14.30ms
44
spring-jvm
Java
Tomcat
512
270,480
34.86MB/s
✓
2xx: 1,352,401
3xx: 0
4xx: 0
5xx: 0
2307.0%
2.0GiB
1.89ms
3.97ms
45
flask
Python
gunicorn
512
118,426
15.81MB/s
✓
2xx: 592,133
3xx: 0
4xx: 0
5xx: 0
5266.6%
3.2GiB
4.16ms
6.95ms
46
Django
Python
gunicorn
512
106,243
16.10MB/s
✓
2xx: 531,218
3xx: 0
4xx: 0
5xx: 0
5476.0%
3.9GiB
4.63ms
17.60ms
47
rocket
Rust
rocket
512
86,273
19.41MB/s
✓
2xx: 431,367
3xx: 0
4xx: 0
5xx: 0
1116.5%
82.7MiB
5.95ms
15.00ms
48
Sinatra
Ruby
puma
512
77,970
7.21MB/s
✓
2xx: 389,854
3xx: 0
4xx: 0
5xx: 0
6361.6%
8.5GiB
6.55ms
55.50ms
49
Rails
Ruby
puma
512
57,583
11.69MB/s
✓
2xx: 287,917
3xx: 0
4xx: 0
5xx: 0
6484.0%
8.5GiB
8.88ms
51.80ms
50
GenHTTP
C#
GenHTTP
512
40,901
5.26MB/s
✓
2xx: 204,506
3xx: 0
4xx: 0
5xx: 0
5124.5%
279.2MiB
6.30ms
14.60ms
#
Framework
Lang
Engine
Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
1
ringzero
C
io_uring
4,096
3,448,170
276.12MB/s
1,523
2xx: 17,240,850
3xx: 0
4xx: 1,523
5xx: 0
6390.2%
4.2GiB
1.19ms
1.38ms
2
h2o
C
h2o
4,096
2,961,874
290.83MB/s
✓
2xx: 14,809,373
3xx: 0
4xx: 0
5xx: 0
6455.6%
92.5MiB
1.38ms
7.74ms
3
nginx
C
nginx
4,096
2,897,562
392.11MB/s
✓
2xx: 14,487,814
3xx: 0
4xx: 0
5xx: 0
6285.0%
3.5GiB
1.41ms
9.05ms
4
blitz
Zig
io_uring
4,096
2,839,166
219.11MB/s
✓
2xx: 14,195,834
3xx: 0
4xx: 0
5xx: 0
6393.1%
4.4GiB
1.44ms
10.70ms
5
ntex-iouring
Rust
io_uring
4,096
2,810,239
313.41MB/s
✓
2xx: 14,051,199
3xx: 0
4xx: 0
5xx: 0
6510.8%
160.3MiB
1.46ms
2.44ms
6
hyper
Rust
hyper
4,096
2,763,545
310.85MB/s
✓
2xx: 13,817,725
3xx: 0
4xx: 0
5xx: 0
6316.7%
119.6MiB
1.48ms
2.90ms
7
ntex-tokio
Rust
Tokio
4,096
2,678,139
298.71MB/s
✓
2xx: 13,390,699
3xx: 0
4xx: 0
5xx: 0
6529.8%
115.0MiB
1.53ms
2.55ms
8
actix
Rust
actix
4,096
2,612,414
331.14MB/s
✓
2xx: 13,062,073
3xx: 0
4xx: 0
5xx: 0
6312.4%
158.2MiB
1.57ms
2.89ms
9
vertx
Java
Netty
4,096
2,218,330
139.56MB/s
✓
2xx: 11,091,650
3xx: 0
4xx: 0
5xx: 0
6316.9%
8.5GiB
1.84ms
3.71ms
10
quarkus-jvm
Java
Netty
4,096
1,938,429
186.64MB/s
✓
2xx: 9,692,147
3xx: 0
4xx: 0
5xx: 0
6375.7%
10.3GiB
2.11ms
4.20ms
11
kemal
Crystal
Kemal
4,096
1,723,142
267.76MB/s
✓
2xx: 8,615,712
3xx: 0
4xx: 0
5xx: 0
6318.7%
2.9GiB
2.37ms
26.30ms
12
drogon
C++
drogon
4,096
1,689,512
215.73MB/s
✓
2xx: 8,447,563
3xx: 0
4xx: 0
5xx: 0
6379.4%
126.5MiB
2.42ms
28.60ms
13
bun
TS
JSC
4,096
1,557,305
152.88MB/s
✓
2xx: 7,786,528
3xx: 0
4xx: 0
5xx: 0
6303.8%
2.2GiB
2.62ms
26.80ms
14
go-fasthttp
Go
fasthttp
4,096
1,464,168
173.07MB/s
✓
2xx: 7,320,844
3xx: 0
4xx: 0
5xx: 0
6516.8%
187.9MiB
2.79ms
8.50ms
15
Elysia
TS
Bun
4,096
1,458,341
143.18MB/s
✓
2xx: 7,291,708
3xx: 0
4xx: 0
5xx: 0
6302.1%
5.1GiB
2.79ms
28.00ms
16
h2o-mruby
Ruby
h2o
4,096
1,415,927
213.17MB/s
✓
2xx: 7,079,637
3xx: 0
4xx: 0
5xx: 0
6448.4%
254.1MiB
723us
4.71ms
17
ultimate-express
JS
uWebSockets
4,096
1,398,269
255.92MB/s
✓
2xx: 6,991,345
3xx: 0
4xx: 0
5xx: 0
6419.8%
2.7GiB
2.92ms
5.52ms
18
FastPySGI-WSGI
Python
libuv
4,096
1,370,615
215.58MB/s
✓
2xx: 6,853,078
3xx: 0
4xx: 0
5xx: 0
6303.4%
845.1MiB
2.98ms
33.90ms
19
deno
TS
V8
4,096
1,289,844
172.13MB/s
✓
2xx: 6,449,223
3xx: 0
4xx: 0
5xx: 0
6591.1%
12.0GiB
3.13ms
7.87ms
20
salvo
Rust
Salvo
4,096
1,257,982
212.28MB/s
✓
2xx: 6,289,910
3xx: 0
4xx: 0
5xx: 0
6300.3%
274.1MiB
3.25ms
11.70ms
21
Hono (Bun)
TS
JSC
4,096
1,242,917
143.37MB/s
✓
2xx: 6,214,587
3xx: 0
4xx: 0
5xx: 0
6465.5%
4.0GiB
3.28ms
29.60ms
22
node
JS
V8
4,096
1,167,030
177.96MB/s
✓
2xx: 5,835,150
3xx: 0
4xx: 0
5xx: 0
6472.7%
2.1GiB
2.94ms
5.56ms
23
prologue
Nim
asynchserver
4,096
914,252
73.21MB/s
✓
2xx: 4,571,261
3xx: 0
4xx: 0
5xx: 0
6194.4%
20.2GiB
4.45ms
41.00ms
24
nginx-openresty
Lua
openresty
4,096
861,611
135.64MB/s
✓
2xx: 4,316,672
3xx: 0
4xx: 0
5xx: 0
6356.1%
4.0GiB
4.74ms
41.40ms
25
gleam-mist
Gleam
BEAM
4,096
845,339
118.46MB/s
✓
2xx: 4,226,696
3xx: 0
4xx: 0
5xx: 0
6378.5%
767.1MiB
1.93ms
4.95ms
26
Koa
JS
V8
4,096
809,608
137.39MB/s
✓
2xx: 4,048,040
3xx: 0
4xx: 0
5xx: 0
6449.2%
2.7GiB
4.24ms
7.58ms
27
FastPySGI-ASGI
Python
libuv
4,096
809,216
127.42MB/s
✓
2xx: 4,054,176
3xx: 0
4xx: 0
5xx: 0
6438.0%
1.5GiB
5.04ms
41.70ms
28
Fastify
JS
V8
4,096
746,729
119.59MB/s
✓
2xx: 3,733,648
3xx: 0
4xx: 0
5xx: 0
6416.5%
6.1GiB
4.49ms
18.90ms
29
ulfius
C
libmicrohttpd
4,096
668,071
65.60MB/s
✓
2xx: 3,340,357
3xx: 0
4xx: 0
5xx: 0
6373.0%
127.4MiB
1.52ms
34.40ms
30
caddy
Go
caddy
4,096
566,489
63.73MB/s
✓
2xx: 2,832,448
3xx: 0
4xx: 0
5xx: 0
5453.5%
383.5MiB
7.21ms
33.20ms
31
hono (node)
JS
Node
4,096
532,324
90.82MB/s
✓
2xx: 2,661,624
3xx: 0
4xx: 0
5xx: 0
6641.3%
6.9GiB
6.13ms
14.60ms
32
spring-jvm-jetty
Java
Jetty
4,096
507,286
77.37MB/s
✓
2xx: 2,536,430
3xx: 0
4xx: 0
5xx: 0
6527.5%
5.9GiB
3.32ms
14.10ms
33
Starlette
Python
uvicorn
4,096
476,971
70.02MB/s
✓
2xx: 2,384,855
3xx: 0
4xx: 0
5xx: 0
3977.6%
986.1MiB
8.09ms
13.70ms
34
aspnet-minimal
C#
Kestrel
4,096
445,964
60.37MB/s
✓
2xx: 2,229,823
3xx: 0
4xx: 0
5xx: 0
4247.3%
306.7MiB
7.48ms
21.00ms
35
gin
Go
gin
4,096
430,086
53.70MB/s
✓
2xx: 2,150,431
3xx: 0
4xx: 0
5xx: 0
6087.4%
375.3MiB
9.45ms
111.90ms
36
echo
Go
echo
4,096
424,337
53.39MB/s
✓
2xx: 2,121,686
3xx: 0
4xx: 0
5xx: 0
6421.7%
249.4MiB
9.54ms
160.80ms
37
chi
Go
chi
4,096
422,523
52.77MB/s
✓
2xx: 2,112,616
3xx: 0
4xx: 0
5xx: 0
6441.8%
359.1MiB
9.62ms
143.70ms
38
fiber
Go
fiber
4,096
397,172
50.36MB/s
✓
2xx: 1,985,861
3xx: 0
4xx: 0
5xx: 0
2963.2%
144.1MiB
6.47ms
55.20ms
39
hummingbird
Swift
Hummingbird
4,096
316,306
37.39MB/s
✓
2xx: 1,581,534
3xx: 0
4xx: 0
5xx: 0
6329.3%
125.5MiB
5.71ms
35.30ms
40
FastAPI
Python
uvicorn
4,096
306,260
44.38MB/s
✓
2xx: 1,531,304
3xx: 0
4xx: 0
5xx: 0
3628.0%
3.5GiB
12.28ms
20.80ms
41
Express
JS
V8
4,096
279,990
65.66MB/s
✓
2xx: 1,399,954
3xx: 0
4xx: 0
5xx: 0
6351.7%
5.9GiB
12.08ms
29.30ms
42
phoenix
Elixir
BEAM
4,096
266,966
43.77MB/s
✓
2xx: 1,334,834
3xx: 0
4xx: 0
5xx: 0
5963.5%
688.1MiB
12.91ms
21.00ms
43
ktor
Kotlin
Netty
4,096
256,864
32.32MB/s
✓
2xx: 1,284,324
3xx: 0
4xx: 0
5xx: 0
6467.6%
6.5GiB
15.92ms
37.40ms
44
spring-jvm
Java
Tomcat
4,096
217,643
28.04MB/s
✓
2xx: 1,088,216
3xx: 0
4xx: 0
5xx: 0
1901.4%
2.8GiB
18.78ms
28.50ms
45
Django
Python
gunicorn
4,096
103,808
15.73MB/s
✓
2xx: 519,040
3xx: 0
4xx: 0
5xx: 0
5035.9%
3.9GiB
21.34ms
34.10ms
46
flask
Python
gunicorn
4,096
96,642
12.90MB/s
✓
2xx: 483,214
3xx: 0
4xx: 0
5xx: 0
5969.0%
6.1GiB
23.49ms
25.70ms
47
rocket
Rust
rocket
4,096
86,279
19.41MB/s
✓
2xx: 431,399
3xx: 0
4xx: 0
5xx: 0
1090.2%
217.6MiB
47.10ms
187.90ms
48
GenHTTP
C#
GenHTTP
4,096
45,560
5.86MB/s
✓
2xx: 227,803
3xx: 0
4xx: 0
5xx: 0
4893.8%
277.6MiB
5.79ms
13.10ms
49
Sinatra
Ruby
puma
4,096
34,997
3.24MB/s
✓
2xx: 174,988
3xx: 0
4xx: 0
5xx: 0
5905.1%
7.8GiB
103.63ms
222.50ms
50
Rails
Ruby
puma
4,096
33,236
6.75MB/s
✓
2xx: 166,184
3xx: 0
4xx: 0
5xx: 0
6199.6%
7.8GiB
113.33ms
214.40ms
#
Framework
Lang
Engine
Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
1
ringzero
C
io_uring
16,384
3,201,474
256.37MB/s
1,296
2xx: 16,007,370
3xx: 0
4xx: 1,296
5xx: 0
6364.8%
4.3GiB
4.52ms
5.59ms
2
h2o
C
h2o
16,384
2,744,006
269.36MB/s
✓
2xx: 13,720,031
3xx: 0
4xx: 0
5xx: 0
6091.3%
207.7MiB
5.80ms
26.10ms
3
nginx
C
nginx
16,384
2,648,676
358.36MB/s
✓
2xx: 13,243,383
3xx: 0
4xx: 0
5xx: 0
6051.4%
3.6GiB
5.97ms
31.30ms
4
ntex-iouring
Rust
io_uring
16,384
2,559,051
285.41MB/s
✓
2xx: 12,795,257
3xx: 0
4xx: 0
5xx: 0
6496.0%
384.2MiB
5.66ms
9.06ms
5
blitz
Zig
io_uring
16,384
2,546,605
196.63MB/s
✓
2xx: 12,733,029
3xx: 0
4xx: 0
5xx: 0
6398.7%
4.5GiB
5.71ms
26.70ms
6
hyper
Rust
hyper
16,384
2,517,563
283.14MB/s
✓
2xx: 12,587,818
3xx: 0
4xx: 0
5xx: 0
6449.2%
386.2MiB
6.28ms
11.90ms
7
ntex-tokio
Rust
Tokio
16,384
2,462,518
274.67MB/s
✓
2xx: 12,312,592
3xx: 0
4xx: 0
5xx: 0
6484.5%
280.7MiB
5.89ms
9.99ms
8
actix
Rust
actix
16,384
2,348,054
298.06MB/s
✓
2xx: 11,763,752
3xx: 0
4xx: 0
5xx: 0
6492.0%
473.6MiB
6.25ms
11.20ms
9
vertx
Java
Netty
16,384
2,062,291
129.69MB/s
✓
2xx: 10,311,459
3xx: 0
4xx: 0
5xx: 0
6228.6%
10.7GiB
7.04ms
15.10ms
10
quarkus-jvm
Java
Netty
16,384
1,793,532
172.69MB/s
✓
2xx: 8,967,662
3xx: 0
4xx: 0
5xx: 0
6252.1%
10.6GiB
7.95ms
17.10ms
11
drogon
C++
drogon
16,384
1,601,385
204.57MB/s
✓
2xx: 8,006,928
3xx: 0
4xx: 0
5xx: 0
6111.8%
317.7MiB
9.85ms
47.60ms
12
bun
TS
JSC
16,384
1,514,507
148.65MB/s
✓
2xx: 7,587,685
3xx: 0
4xx: 0
5xx: 0
6431.9%
2.7GiB
10.42ms
53.60ms
13
kemal
Crystal
Kemal
16,384
1,489,883
231.37MB/s
✓
2xx: 7,449,417
3xx: 0
4xx: 0
5xx: 0
6181.6%
4.1GiB
10.67ms
50.90ms
14
Elysia
TS
Bun
16,384
1,428,492
140.26MB/s
✓
2xx: 7,142,461
3xx: 0
4xx: 0
5xx: 0
6181.1%
5.2GiB
11.07ms
57.30ms
15
h2o-mruby
Ruby
h2o
16,384
1,419,367
213.67MB/s
✓
2xx: 7,096,838
3xx: 0
4xx: 0
5xx: 0
6066.6%
252.6MiB
704us
4.99ms
16
FastPySGI-WSGI
Python
libuv
16,384
1,335,668
210.13MB/s
✓
2xx: 6,691,698
3xx: 0
4xx: 0
5xx: 0
6203.6%
2.6GiB
11.82ms
60.70ms
17
ultimate-express
JS
uWebSockets
16,384
1,307,658
239.35MB/s
✓
2xx: 6,538,294
3xx: 0
4xx: 0
5xx: 0
6257.6%
3.2GiB
12.20ms
17.30ms
18
go-fasthttp
Go
fasthttp
16,384
1,215,825
143.72MB/s
✓
2xx: 6,079,125
3xx: 0
4xx: 0
5xx: 0
6050.3%
456.8MiB
13.06ms
19.80ms
19
Hono (Bun)
TS
JSC
16,384
1,190,939
137.33MB/s
✓
2xx: 5,954,695
3xx: 0
4xx: 0
5xx: 0
6193.6%
3.5GiB
13.29ms
53.40ms
20
node
JS
V8
16,384
1,093,211
166.75MB/s
✓
2xx: 5,466,055
3xx: 0
4xx: 0
5xx: 0
6287.4%
2.7GiB
10.09ms
15.90ms
21
deno
TS
V8
16,384
1,026,096
136.93MB/s
✓
2xx: 5,130,484
3xx: 0
4xx: 0
5xx: 0
6229.7%
12.7GiB
14.82ms
24.30ms
22
salvo
Rust
Salvo
16,384
996,464
168.15MB/s
✓
2xx: 4,982,320
3xx: 0
4xx: 0
5xx: 0
6103.4%
802.4MiB
14.43ms
31.10ms
23
nginx-openresty
Lua
openresty
16,384
841,454
132.46MB/s
✓
2xx: 4,215,685
3xx: 0
4xx: 0
5xx: 0
6154.4%
4.1GiB
18.63ms
84.70ms
24
FastPySGI-ASGI
Python
libuv
16,384
825,333
129.82MB/s
✓
2xx: 4,126,667
3xx: 0
4xx: 0
5xx: 0
6134.9%
3.8GiB
19.08ms
104.40ms
25
gleam-mist
Gleam
BEAM
16,384
819,387
114.83MB/s
✓
2xx: 4,096,938
3xx: 0
4xx: 0
5xx: 0
6279.4%
884.5MiB
2.11ms
6.26ms
26
ulfius
C
libmicrohttpd
16,384
764,301
75.02MB/s
✓
2xx: 3,821,507
3xx: 0
4xx: 0
5xx: 0
5117.4%
128.3MiB
1.32ms
8.66ms
27
Koa
JS
V8
16,384
735,980
124.89MB/s
✓
2xx: 3,679,900
3xx: 0
4xx: 0
5xx: 0
6101.0%
3.9GiB
16.64ms
25.70ms
28
Fastify
JS
V8
16,384
668,804
107.09MB/s
✓
2xx: 3,344,020
3xx: 0
4xx: 0
5xx: 0
6146.6%
6.4GiB
19.67ms
40.90ms
29
caddy
Go
caddy
16,384
574,822
64.67MB/s
✓
2xx: 2,874,111
3xx: 0
4xx: 0
5xx: 0
5687.0%
1.1GiB
25.04ms
85.80ms
30
prologue
Nim
asynchserver
16,384
514,414
41.24MB/s
✓
2xx: 2,577,215
3xx: 0
4xx: 0
5xx: 0
6228.7%
13.3GiB
30.54ms
107.60ms
31
hono (node)
JS
Node
16,384
505,527
86.27MB/s
✓
2xx: 2,527,638
3xx: 0
4xx: 0
5xx: 0
6575.4%
7.0GiB
20.12ms
38.00ms
32
echo
Go
echo
16,384
482,893
60.76MB/s
✓
2xx: 2,414,469
3xx: 0
4xx: 0
5xx: 0
6037.8%
889.0MiB
25.94ms
414.70ms
33
gin
Go
gin
16,384
466,457
58.25MB/s
✓
2xx: 2,332,289
3xx: 0
4xx: 0
5xx: 0
6470.9%
685.8MiB
27.69ms
454.50ms
34
spring-jvm-jetty
Java
Jetty
16,384
461,633
70.41MB/s
✓
2xx: 2,308,165
3xx: 0
4xx: 0
5xx: 0
5948.6%
7.4GiB
23.87ms
52.40ms
35
chi
Go
chi
16,384
459,298
57.33MB/s
✓
2xx: 2,296,494
3xx: 0
4xx: 0
5xx: 0
6494.9%
1008.0MiB
30.18ms
540.60ms
36
Starlette
Python
uvicorn
16,384
447,049
65.63MB/s
✓
2xx: 2,235,247
3xx: 0
4xx: 0
5xx: 0
4932.2%
871.3MiB
29.71ms
90.60ms
37
aspnet-minimal
C#
Kestrel
16,384
415,341
56.22MB/s
✓
2xx: 2,076,709
3xx: 0
4xx: 0
5xx: 0
5238.8%
507.8MiB
23.11ms
58.40ms
38
fiber
Go
fiber
16,384
382,974
48.56MB/s
✓
2xx: 1,914,874
3xx: 0
4xx: 0
5xx: 0
2919.8%
188.4MiB
7.33ms
61.80ms
39
FastAPI
Python
uvicorn
16,384
309,258
44.79MB/s
✓
2xx: 1,546,294
3xx: 0
4xx: 0
5xx: 0
4981.1%
3.6GiB
37.75ms
148.30ms
40
hummingbird
Swift
Hummingbird
16,384
297,296
35.14MB/s
✓
2xx: 1,486,484
3xx: 0
4xx: 0
5xx: 0
6122.9%
142.6MiB
7.69ms
40.20ms
41
ktor
Kotlin
Netty
16,384
261,889
32.95MB/s
✓
2xx: 1,309,447
3xx: 0
4xx: 0
5xx: 0
6305.9%
13.6GiB
54.22ms
95.30ms
42
Express
JS
V8
16,384
259,789
60.92MB/s
✓
2xx: 1,298,946
3xx: 0
4xx: 0
5xx: 0
6093.2%
6.6GiB
42.07ms
64.90ms
43
phoenix
Elixir
BEAM
16,384
244,191
40.03MB/s
✓
2xx: 1,220,956
3xx: 0
4xx: 0
5xx: 0
5819.8%
1.4GiB
34.90ms
50.00ms
44
spring-jvm
Java
Tomcat
16,384
181,218
23.32MB/s
✓
2xx: 906,094
3xx: 0
4xx: 0
5xx: 0
1747.1%
4.5GiB
79.69ms
108.10ms
45
rocket
Rust
rocket
16,384
86,497
19.46MB/s
✓
2xx: 432,485
3xx: 0
4xx: 0
5xx: 0
1095.0%
612.8MiB
118.10ms
1.43s
46
GenHTTP
C#
GenHTTP
16,384
43,699
5.62MB/s
✓
2xx: 218,497
3xx: 0
4xx: 0
5xx: 0
3872.1%
333.3MiB
5.07ms
13.10ms
47
flask
Python
gunicorn
16,384
38,563
5.15MB/s
✓
2xx: 193,972
3xx: 0
4xx: 0
5xx: 0
1559.6%
3.1GiB
74.50ms
842.80ms
48
Django
Python
gunicorn
16,384
35,312
5.35MB/s
✓
2xx: 177,270
3xx: 0
4xx: 0
5xx: 0
1601.5%
3.6GiB
82.07ms
897.00ms
49
Sinatra
Ruby
puma
16,384
29,821
2.76MB/s
✓
2xx: 149,106
3xx: 0
4xx: 0
5xx: 0
5977.7%
7.7GiB
317.79ms
2.03s
50
Rails
Ruby
puma
16,384
28,271
5.74MB/s
✓
2xx: 141,355
3xx: 0
4xx: 0
5xx: 0
6061.7%
8.2GiB
367.10ms
563.10ms
Results
Baseline
Short-lived Con.
JSON Processing
Upload (20 MB)
Compression
Noisy
Mixed Workload
Pipelined (16)
Async DB
Each connection is closed and re-established after 10 requests, forcing repeated TCP handshakes. Same mixed GET/POST workload as baseline. Measures how efficiently a framework handles connection setup and teardown — important for real-world scenarios where clients don't maintain long-lived connections.
Type
All
Framework
Engine
Conn
Best
512
4096
Click a row to expand details
#
Framework
Lang
Engine
Conn
TCP Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
#
Framework
Lang
Engine
Conn
TCP Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
1
h2o
C
h2o
512
808,780
1,617,816
158.81MB/s
✓
2xx: 8,089,083
3xx: 0
4xx: 0
5xx: 0
5156.7%
70.6MiB
299us
2.44ms
2
nginx
C
nginx
512
790,266
1,580,568
213.93MB/s
✓
2xx: 7,902,841
3xx: 0
4xx: 0
5xx: 0
5166.1%
3.5GiB
304us
2.61ms
3
hyper
Rust
hyper
512
746,648
1,493,614
168.00MB/s
✓
2xx: 7,468,074
3xx: 0
4xx: 0
5xx: 0
5326.3%
99.1MiB
323us
2.51ms
4
blitz
Zig
io_uring
512
677,503
1,355,304
104.64MB/s
✓
2xx: 6,776,520
3xx: 0
4xx: 0
5xx: 0
4296.4%
4.4GiB
358us
2.76ms
5
ntex-iouring
Rust
io_uring
512
672,991
1,346,035
150.12MB/s
✓
2xx: 6,730,176
3xx: 0
4xx: 0
5xx: 0
6346.0%
156.4MiB
360us
2.19ms
6
ringzero
C
io_uring
512
666,561
1,333,096
106.73MB/s
143
2xx: 6,665,480
3xx: 0
4xx: 143
5xx: 0
3024.1%
4.1GiB
367us
3.15ms
7
ntex-tokio
Rust
Tokio
512
628,405
1,257,075
140.20MB/s
✓
2xx: 6,285,376
3xx: 0
4xx: 0
5xx: 0
5481.1%
110.6MiB
389us
2.54ms
8
drogon
C++
drogon
512
625,627
1,251,259
159.85MB/s
✓
2xx: 6,256,296
3xx: 0
4xx: 0
5xx: 0
5859.7%
85.9MiB
388us
2.71ms
9
kemal
Crystal
Kemal
512
540,928
1,081,802
168.07MB/s
✓
2xx: 5,409,010
3xx: 0
4xx: 0
5xx: 0
6046.5%
3.1GiB
455us
4.03ms
10
actix
Rust
actix
512
533,237
1,066,449
135.22MB/s
✓
2xx: 5,332,247
3xx: 0
4xx: 0
5xx: 0
4844.4%
128.3MiB
463us
3.80ms
11
FastPySGI-WSGI
Python
libuv
512
495,559
991,128
155.88MB/s
✓
2xx: 4,955,644
3xx: 0
4xx: 0
5xx: 0
6534.9%
462.4MiB
498us
3.60ms
12
bun
TS
JSC
512
487,318
974,616
95.71MB/s
✓
2xx: 4,873,083
3xx: 0
4xx: 0
5xx: 0
6379.8%
2.0GiB
505us
4.28ms
13
ultimate-express
JS
uWebSockets
512
469,585
939,145
171.87MB/s
✓
2xx: 4,695,728
3xx: 0
4xx: 0
5xx: 0
6806.6%
4.9GiB
526us
3.58ms
14
Elysia
TS
Bun
512
463,830
927,705
91.09MB/s
✓
2xx: 4,638,528
3xx: 0
4xx: 0
5xx: 0
6535.8%
5.0GiB
530us
4.58ms
15
nginx-openresty
Lua
openresty
512
435,360
870,719
136.90MB/s
✓
2xx: 4,353,596
3xx: 0
4xx: 0
5xx: 0
7196.4%
4.0GiB
571us
3.66ms
16
Hono (Bun)
TS
JSC
512
420,248
840,483
96.95MB/s
✓
2xx: 4,202,418
3xx: 0
4xx: 0
5xx: 0
6544.5%
3.7GiB
591us
6.19ms
17
prologue
Nim
asynchserver
512
401,053
802,103
64.23MB/s
✓
2xx: 4,010,516
3xx: 0
4xx: 0
5xx: 0
7077.3%
18.1GiB
621us
3.89ms
18
FastPySGI-ASGI
Python
libuv
512
323,926
647,836
101.90MB/s
✓
2xx: 3,239,184
3xx: 0
4xx: 0
5xx: 0
8522.8%
1.1GiB
774us
5.03ms
19
vertx
Java
Netty
512
276,142
552,278
34.75MB/s
✓
2xx: 2,761,392
3xx: 0
4xx: 0
5xx: 0
2426.5%
2.9GiB
917us
9.06ms
20
salvo
Rust
Salvo
512
270,775
541,515
91.38MB/s
✓
2xx: 2,707,575
3xx: 0
4xx: 0
5xx: 0
2630.7%
111.2MiB
935us
7.54ms
21
quarkus-jvm
Java
Netty
512
266,426
532,858
51.31MB/s
✓
2xx: 2,664,290
3xx: 0
4xx: 0
5xx: 0
2928.4%
6.6GiB
951us
9.38ms
22
aspnet-minimal
C#
Kestrel
512
232,569
465,143
62.97MB/s
✓
2xx: 2,325,719
3xx: 0
4xx: 0
5xx: 0
3394.0%
152.7MiB
1.09ms
11.10ms
23
spring-jvm-jetty
Java
Jetty
512
206,888
413,976
63.15MB/s
✓
2xx: 2,069,881
3xx: 0
4xx: 0
5xx: 0
6142.7%
4.8GiB
956us
5.13ms
24
ktor
Kotlin
Netty
512
197,003
394,016
49.58MB/s
✓
2xx: 1,970,080
3xx: 0
4xx: 0
5xx: 0
6237.0%
4.8GiB
1.29ms
14.50ms
25
Starlette
Python
uvicorn
512
196,775
393,759
57.77MB/s
✓
2xx: 1,968,795
3xx: 0
4xx: 0
5xx: 0
5988.9%
3.8GiB
1.26ms
6.32ms
26
FastAPI
Python
uvicorn
512
167,176
334,686
48.50MB/s
✓
2xx: 1,673,434
3xx: 0
4xx: 0
5xx: 0
6152.2%
4.3GiB
1.51ms
8.58ms
27
caddy
Go
caddy
512
141,324
282,634
31.79MB/s
✓
2xx: 1,413,174
3xx: 0
4xx: 0
5xx: 0
5105.6%
193.7MiB
1.80ms
19.90ms
28
node
JS
V8
512
133,747
267,497
40.80MB/s
✓
2xx: 1,337,486
3xx: 0
4xx: 0
5xx: 0
2930.7%
2.2GiB
1.90ms
19.60ms
29
Koa
JS
V8
512
124,738
249,491
42.34MB/s
✓
2xx: 1,247,459
3xx: 0
4xx: 0
5xx: 0
3354.6%
5.0GiB
2.04ms
20.70ms
30
Fastify
JS
V8
512
124,005
248,018
39.72MB/s
✓
2xx: 1,240,090
3xx: 0
4xx: 0
5xx: 0
3450.9%
9.8GiB
2.05ms
21.00ms
31
h2o-mruby
Ruby
h2o
512
114,907
229,627
34.57MB/s
✓
2xx: 1,150,432
3xx: 0
4xx: 0
5xx: 0
7719.4%
196.8MiB
2.19ms
10.20ms
32
deno
TS
V8
512
111,841
223,279
29.78MB/s
✓
2xx: 1,118,630
3xx: 0
4xx: 0
5xx: 0
6391.3%
8.8GiB
2.08ms
17.70ms
33
hono (node)
JS
Node
512
110,475
220,954
37.70MB/s
✓
2xx: 1,104,770
3xx: 0
4xx: 0
5xx: 0
4371.1%
9.2GiB
2.31ms
23.20ms
34
spring-jvm
Java
Tomcat
512
104,554
209,198
26.92MB/s
✓
2xx: 1,045,994
3xx: 0
4xx: 0
5xx: 0
1995.5%
1.7GiB
2.44ms
4.51ms
35
phoenix
Elixir
BEAM
512
102,813
205,388
33.68MB/s
✓
2xx: 1,026,941
3xx: 0
4xx: 0
5xx: 0
8832.7%
386.5MiB
2.48ms
4.26ms
36
Express
JS
V8
512
102,455
204,923
48.06MB/s
✓
2xx: 1,024,618
3xx: 0
4xx: 0
5xx: 0
6609.7%
10.6GiB
2.49ms
24.40ms
37
fiber
Go
fiber
512
89,391
178,746
22.66MB/s
✓
2xx: 893,730
3xx: 0
4xx: 0
5xx: 0
2752.6%
67.9MiB
2.85ms
30.80ms
38
ulfius
C
libmicrohttpd
512
88,348
176,697
17.35MB/s
✓
2xx: 883,489
3xx: 0
4xx: 0
5xx: 0
665.2%
46.7MiB
2.89ms
29.40ms
39
gin
Go
gin
512
74,660
149,330
18.65MB/s
✓
2xx: 746,653
3xx: 0
4xx: 0
5xx: 0
3201.5%
93.5MiB
3.42ms
36.30ms
40
go-fasthttp
Go
fasthttp
512
73,932
147,847
17.47MB/s
✓
2xx: 739,236
3xx: 0
4xx: 0
5xx: 0
3915.7%
100.2MiB
3.45ms
78.80ms
41
chi
Go
chi
512
72,491
144,893
18.10MB/s
✓
2xx: 724,466
3xx: 0
4xx: 0
5xx: 0
3124.1%
94.3MiB
3.52ms
36.70ms
42
echo
Go
echo
512
68,314
136,646
17.20MB/s
✓
2xx: 683,233
3xx: 0
4xx: 0
5xx: 0
2980.4%
92.6MiB
3.74ms
39.70ms
43
flask
Python
gunicorn
512
594,347
118,870
15.86MB/s
✓
2xx: 594,352
3xx: 0
4xx: 0
5xx: 0
5427.1%
3.3GiB
4.15ms
6.58ms
44
hummingbird
Swift
Hummingbird
512
64,273
116,475
15.17MB/s
✓
2xx: 582,377
3xx: 0
4xx: 0
5xx: 0
2509.5%
57.1MiB
2.67ms
20.40ms
45
gleam-mist
Gleam
BEAM
512
55,514
111,027
15.56MB/s
✓
2xx: 555,137
3xx: 0
4xx: 0
5xx: 0
1268.6%
429.2MiB
4.60ms
46.80ms
46
Django
Python
gunicorn
512
538,595
107,719
16.33MB/s
✓
2xx: 538,597
3xx: 0
4xx: 0
5xx: 0
5328.8%
3.7GiB
4.57ms
9.82ms
47
rocket
Rust
rocket
512
43,452
86,832
19.54MB/s
✓
2xx: 434,163
3xx: 0
4xx: 0
5xx: 0
1130.4%
63.0MiB
5.89ms
48.60ms
48
GenHTTP
C#
GenHTTP
512
24,996
49,973
6.43MB/s
✓
2xx: 249,869
3xx: 0
4xx: 0
5xx: 0
7424.8%
388.8MiB
10.07ms
216.90ms
49
Sinatra
Ruby
puma
512
15,816
31,921
2.95MB/s
✓
2xx: 159,609
3xx: 0
4xx: 0
5xx: 0
6565.4%
13.8GiB
15.95ms
115.10ms
50
Rails
Ruby
puma
512
15,720
31,694
6.44MB/s
✓
2xx: 158,474
3xx: 0
4xx: 0
5xx: 0
6981.2%
14.6GiB
16.07ms
110.30ms
#
Framework
Lang
Engine
Conn
TCP Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
1
h2o
C
h2o
4,096
1,030,653
2,063,170
202.52MB/s
✓
2xx: 10,315,854
3xx: 0
4xx: 0
5xx: 0
6067.2%
114.2MiB
1.86ms
8.43ms
2
hyper
Rust
hyper
4,096
1,003,489
2,010,095
226.10MB/s
✓
2xx: 10,050,477
3xx: 0
4xx: 0
5xx: 0
6308.6%
236.8MiB
1.96ms
10.10ms
3
nginx
C
nginx
4,096
997,730
1,998,830
270.55MB/s
✓
2xx: 9,994,153
3xx: 0
4xx: 0
5xx: 0
6011.9%
3.5GiB
1.90ms
10.10ms
4
drogon
C++
drogon
4,096
822,067
1,646,234
210.27MB/s
✓
2xx: 8,231,174
3xx: 0
4xx: 0
5xx: 0
6942.3%
138.0MiB
2.42ms
28.60ms
5
ringzero
C
io_uring
4,096
749,093
1,498,389
119.94MB/s
125
2xx: 7,491,949
3xx: 0
4xx: 125
5xx: 0
3519.1%
4.2GiB
2.65ms
26.80ms
6
bun
TS
JSC
4,096
692,844
1,388,768
136.31MB/s
✓
2xx: 6,943,843
3xx: 0
4xx: 0
5xx: 0
7184.0%
2.4GiB
2.85ms
19.30ms
7
blitz
Zig
io_uring
4,096
689,703
1,380,101
106.57MB/s
✓
2xx: 6,900,505
3xx: 0
4xx: 0
5xx: 0
4522.8%
4.4GiB
2.92ms
28.40ms
8
kemal
Crystal
Kemal
4,096
680,127
1,363,577
211.83MB/s
✓
2xx: 6,817,889
3xx: 0
4xx: 0
5xx: 0
6704.1%
5.9GiB
2.95ms
26.20ms
9
FastPySGI-WSGI
Python
libuv
4,096
665,128
1,329,378
209.31MB/s
✓
2xx: 6,660,186
3xx: 0
4xx: 0
5xx: 0
7665.9%
1.1GiB
3.01ms
39.40ms
10
Elysia
TS
Bun
4,096
639,192
1,279,267
125.65MB/s
✓
2xx: 6,409,129
3xx: 0
4xx: 0
5xx: 0
6898.9%
6.6GiB
3.09ms
24.60ms
11
ntex-tokio
Rust
Tokio
4,096
633,603
1,267,421
141.36MB/s
✓
2xx: 6,337,106
3xx: 0
4xx: 0
5xx: 0
5332.6%
133.7MiB
3.18ms
31.50ms
12
ultimate-express
JS
uWebSockets
4,096
626,449
1,256,048
229.86MB/s
✓
2xx: 6,280,244
3xx: 0
4xx: 0
5xx: 0
8097.4%
5.0GiB
3.18ms
17.90ms
13
ntex-iouring
Rust
io_uring
4,096
617,996
1,235,745
137.83MB/s
✓
2xx: 6,178,726
3xx: 0
4xx: 0
5xx: 0
5820.7%
197.0MiB
3.26ms
30.80ms
14
Hono (Bun)
TS
JSC
4,096
575,781
1,153,497
133.01MB/s
✓
2xx: 5,767,485
3xx: 0
4xx: 0
5xx: 0
7104.6%
3.4GiB
3.46ms
28.00ms
15
nginx-openresty
Lua
openresty
4,096
570,442
1,141,993
179.87MB/s
✓
2xx: 5,721,385
3xx: 0
4xx: 0
5xx: 0
8213.3%
4.0GiB
3.50ms
19.20ms
16
prologue
Nim
asynchserver
4,096
542,403
1,087,083
87.04MB/s
✓
2xx: 5,435,415
3xx: 0
4xx: 0
5xx: 0
8233.4%
64.8GiB
3.68ms
39.90ms
17
actix
Rust
actix
4,096
516,151
1,032,228
130.88MB/s
✓
2xx: 5,161,140
3xx: 0
4xx: 0
5xx: 0
4798.5%
126.7MiB
3.94ms
41.10ms
18
FastPySGI-ASGI
Python
libuv
4,096
437,393
877,640
138.01MB/s
✓
2xx: 4,388,204
3xx: 0
4xx: 0
5xx: 0
8605.1%
2.1GiB
4.57ms
39.50ms
19
go-fasthttp
Go
fasthttp
4,096
316,948
636,185
75.21MB/s
✓
2xx: 3,180,926
3xx: 0
4xx: 0
5xx: 0
7192.0%
601.3MiB
6.38ms
66.80ms
20
quarkus-jvm
Java
Netty
4,096
279,162
558,351
53.76MB/s
✓
2xx: 2,791,759
3xx: 0
4xx: 0
5xx: 0
3187.3%
5.5GiB
7.27ms
75.00ms
21
vertx
Java
Netty
4,096
275,114
550,268
34.62MB/s
✓
2xx: 2,751,341
3xx: 0
4xx: 0
5xx: 0
2436.2%
2.9GiB
7.37ms
75.80ms
22
salvo
Rust
Salvo
4,096
272,538
544,848
91.94MB/s
✓
2xx: 2,724,242
3xx: 0
4xx: 0
5xx: 0
2467.8%
181.3MiB
7.45ms
73.80ms
23
aspnet-minimal
C#
Kestrel
4,096
230,570
461,129
62.42MB/s
✓
2xx: 2,305,648
3xx: 0
4xx: 0
5xx: 0
3435.9%
161.3MiB
1.34ms
11.80ms
24
spring-jvm-jetty
Java
Jetty
4,096
224,227
449,606
68.54MB/s
✓
2xx: 2,248,031
3xx: 0
4xx: 0
5xx: 0
6400.6%
6.8GiB
3.38ms
16.80ms
25
Starlette
Python
uvicorn
4,096
215,583
434,657
63.78MB/s
✓
2xx: 2,173,288
3xx: 0
4xx: 0
5xx: 0
5270.8%
849.3MiB
7.82ms
62.20ms
26
ktor
Kotlin
Netty
4,096
181,560
363,993
45.80MB/s
✓
2xx: 1,819,966
3xx: 0
4xx: 0
5xx: 0
7613.9%
5.2GiB
11.14ms
122.80ms
27
deno
TS
V8
4,096
174,614
351,849
46.96MB/s
✓
2xx: 1,762,765
3xx: 0
4xx: 0
5xx: 0
6148.8%
13.9GiB
9.46ms
78.60ms
28
FastAPI
Python
uvicorn
4,096
166,511
336,067
48.68MB/s
✓
2xx: 1,680,337
3xx: 0
4xx: 0
5xx: 0
5855.3%
4.5GiB
9.79ms
89.80ms
29
h2o-mruby
Ruby
h2o
4,096
166,659
333,515
50.29MB/s
✓
2xx: 1,670,914
3xx: 0
4xx: 0
5xx: 0
4068.9%
240.1MiB
11.91ms
95.70ms
30
caddy
Go
caddy
4,096
141,572
283,120
31.85MB/s
✓
2xx: 1,415,600
3xx: 0
4xx: 0
5xx: 0
5042.9%
204.3MiB
14.27ms
147.70ms
31
node
JS
V8
4,096
133,893
267,806
40.85MB/s
✓
2xx: 1,339,031
3xx: 0
4xx: 0
5xx: 0
2815.2%
2.2GiB
2.25ms
20.20ms
32
Koa
JS
V8
4,096
124,781
249,570
42.35MB/s
✓
2xx: 1,247,850
3xx: 0
4xx: 0
5xx: 0
3358.6%
5.1GiB
2.67ms
21.60ms
33
Fastify
JS
V8
4,096
123,030
246,086
39.41MB/s
✓
2xx: 1,230,433
3xx: 0
4xx: 0
5xx: 0
3408.2%
9.9GiB
2.88ms
22.30ms
34
hono (node)
JS
Node
4,096
111,807
223,618
38.16MB/s
✓
2xx: 1,118,092
3xx: 0
4xx: 0
5xx: 0
4591.4%
9.2GiB
2.92ms
24.60ms
35
fiber
Go
fiber
4,096
104,724
209,507
26.56MB/s
✓
2xx: 1,047,535
3xx: 0
4xx: 0
5xx: 0
3384.7%
81.4MiB
19.11ms
222.80ms
36
Express
JS
V8
4,096
100,447
200,895
47.11MB/s
✓
2xx: 1,004,479
3xx: 0
4xx: 0
5xx: 0
6447.9%
10.6GiB
3.41ms
26.60ms
37
ulfius
C
libmicrohttpd
4,096
88,516
177,038
17.38MB/s
✓
2xx: 885,194
3xx: 0
4xx: 0
5xx: 0
666.7%
46.7MiB
22.57ms
233.20ms
38
phoenix
Elixir
BEAM
4,096
85,703
174,763
28.65MB/s
✓
2xx: 873,816
3xx: 0
4xx: 0
5xx: 0
8619.6%
925.0MiB
19.32ms
31.20ms
39
spring-jvm
Java
Tomcat
4,096
78,290
160,342
20.64MB/s
✓
2xx: 801,713
3xx: 0
4xx: 0
5xx: 0
1690.5%
2.8GiB
25.39ms
36.80ms
40
gin
Go
gin
4,096
76,745
153,503
19.17MB/s
✓
2xx: 767,516
3xx: 0
4xx: 0
5xx: 0
3210.4%
94.4MiB
25.92ms
278.00ms
41
chi
Go
chi
4,096
69,781
139,551
17.43MB/s
✓
2xx: 697,756
3xx: 0
4xx: 0
5xx: 0
3101.6%
96.3MiB
28.60ms
310.20ms
42
echo
Go
echo
4,096
69,125
138,295
17.40MB/s
✓
2xx: 691,478
3xx: 0
4xx: 0
5xx: 0
3112.8%
93.3MiB
28.61ms
309.90ms
43
hummingbird
Swift
Hummingbird
4,096
63,812
115,716
15.06MB/s
✓
2xx: 578,580
3xx: 0
4xx: 0
5xx: 0
2571.0%
57.4MiB
3.06ms
20.60ms
44
gleam-mist
Gleam
BEAM
4,096
54,953
109,915
15.40MB/s
✓
2xx: 549,577
3xx: 0
4xx: 0
5xx: 0
1212.2%
457.9MiB
9.81ms
96.90ms
45
flask
Python
gunicorn
4,096
540,729
108,146
14.43MB/s
✓
2xx: 540,734
3xx: 0
4xx: 0
5xx: 0
5512.5%
3.4GiB
20.89ms
22.10ms
46
Django
Python
gunicorn
4,096
538,495
107,700
16.32MB/s
✓
2xx: 538,501
3xx: 0
4xx: 0
5xx: 0
5508.1%
4.2GiB
20.46ms
28.30ms
47
rocket
Rust
rocket
4,096
42,249
84,704
19.06MB/s
✓
2xx: 423,522
3xx: 0
4xx: 0
5xx: 0
1104.0%
114.0MiB
46.36ms
480.70ms
48
GenHTTP
C#
GenHTTP
4,096
24,943
49,886
6.42MB/s
✓
2xx: 249,430
3xx: 0
4xx: 0
5xx: 0
6734.1%
605.9MiB
18.91ms
347.50ms
49
Sinatra
Ruby
puma
4,096
13,731
31,100
2.88MB/s
✓
2xx: 155,501
3xx: 0
4xx: 0
5xx: 0
6625.6%
14.0GiB
127.46ms
446.10ms
50
Rails
Ruby
puma
4,096
13,136
29,946
6.08MB/s
✓
2xx: 149,733
3xx: 0
4xx: 0
5xx: 0
7015.1%
14.7GiB
132.81ms
396.30ms
Results
Baseline
Short-lived Con.
JSON Processing
Upload (20 MB)
Compression
Noisy
Mixed Workload
Pipelined (16)
Async DB
Each request hits
GET /json. The server loads a 50-item dataset at startup, computes a derived total field per item, and returns the full result as a JSON response (~10 KB). Measures object allocation, JSON serialization performance, and framework response overhead — the typical workload of a real-world API.Type
All
Framework
Engine
Conn
Best
4096
16384
Click a row to expand details
#
Framework
Lang
Engine
Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
#
Framework
Lang
Engine
Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
1
blitz
Zig
io_uring
4,096
1,210,790
9.55GB/s
✓
2xx: 6,053,952
3xx: 0
4xx: 0
5xx: 0
7868.5%
4.4GiB
1.16ms
8.40ms
2
hyper
Rust
hyper
4,096
1,169,263
9.27GB/s
✓
2xx: 5,846,317
3xx: 0
4xx: 0
5xx: 0
9193.9%
173.1MiB
1.99ms
9.07ms
3
nginx
C
nginx
4,096
1,137,341
9.14GB/s
✓
2xx: 5,686,708
3xx: 0
4xx: 0
5xx: 0
6920.9%
3.5GiB
1.11ms
7.47ms
4
ntex-tokio
Rust
Tokio
4,096
1,123,406
8.90GB/s
✓
2xx: 5,617,034
3xx: 0
4xx: 0
5xx: 0
8830.3%
194.6MiB
1.89ms
10.10ms
5
ntex-iouring
Rust
io_uring
4,096
1,121,652
8.89GB/s
✓
2xx: 5,608,262
3xx: 0
4xx: 0
5xx: 0
9272.5%
247.2MiB
2.06ms
10.60ms
6
actix
Rust
actix
4,096
1,119,393
8.87GB/s
✓
2xx: 5,596,966
3xx: 0
4xx: 0
5xx: 0
9264.5%
210.8MiB
2.10ms
10.00ms
7
salvo
Rust
Salvo
4,096
781,413
6.23GB/s
✓
2xx: 3,907,066
3xx: 0
4xx: 0
5xx: 0
7277.2%
278.7MiB
4.04ms
14.10ms
8
Elysia
TS
Bun
4,096
722,557
5.68GB/s
✓
2xx: 3,612,785
3xx: 0
4xx: 0
5xx: 0
8839.8%
6.0GiB
4.49ms
20.60ms
9
bun
TS
JSC
4,096
708,960
5.57GB/s
✓
2xx: 3,544,803
3xx: 0
4xx: 0
5xx: 0
8852.4%
2.9GiB
4.58ms
20.80ms
10
ultimate-express
JS
uWebSockets
4,096
703,514
5.59GB/s
✓
2xx: 3,517,574
3xx: 0
4xx: 0
5xx: 0
9757.6%
5.7GiB
4.59ms
17.30ms
11
FastPySGI-WSGI
Python
libuv
4,096
701,355
5.58GB/s
✓
2xx: 3,506,776
3xx: 0
4xx: 0
5xx: 0
9844.0%
1.1GiB
4.66ms
16.10ms
12
deno
TS
V8
4,096
692,494
5.47GB/s
✓
2xx: 3,462,474
3xx: 0
4xx: 0
5xx: 0
8924.8%
3.9GiB
4.56ms
23.70ms
13
Hono (Bun)
TS
JSC
4,096
662,019
5.21GB/s
✓
2xx: 3,310,096
3xx: 0
4xx: 0
5xx: 0
8997.5%
4.3GiB
4.97ms
21.30ms
14
FastPySGI-ASGI
Python
libuv
4,096
615,028
4.89GB/s
✓
2xx: 3,075,140
3xx: 0
4xx: 0
5xx: 0
9991.6%
1.6GiB
5.39ms
21.70ms
15
node
JS
V8
4,096
594,096
4.69GB/s
✓
2xx: 2,970,481
3xx: 0
4xx: 0
5xx: 0
9715.5%
3.0GiB
4.52ms
15.40ms
16
GenHTTP
C#
GenHTTP
4,096
588,396
4.64GB/s
✓
2xx: 2,941,981
3xx: 0
4xx: 0
5xx: 0
8615.2%
1.2GiB
4.53ms
19.80ms
17
Fastify
JS
V8
4,096
576,318
4.56GB/s
✓
2xx: 2,881,594
3xx: 0
4xx: 0
5xx: 0
9800.8%
5.8GiB
4.64ms
15.30ms
18
quarkus-jvm
Java
Netty
4,096
537,661
4.26GB/s
✓
2xx: 2,688,308
3xx: 0
4xx: 0
5xx: 0
10258.4%
10.3GiB
6.21ms
22.50ms
19
vertx
Java
Netty
4,096
536,375
4.23GB/s
✓
2xx: 2,687,239
3xx: 0
4xx: 0
5xx: 0
9919.9%
10.6GiB
6.46ms
23.10ms
20
Koa
JS
V8
4,096
522,368
4.13GB/s
✓
2xx: 2,611,841
3xx: 0
4xx: 0
5xx: 0
9892.6%
5.5GiB
5.28ms
17.60ms
21
hono (node)
JS
Node
4,096
517,493
4.09GB/s
✓
2xx: 2,587,465
3xx: 0
4xx: 0
5xx: 0
9550.7%
5.7GiB
5.31ms
18.10ms
22
aspnet-minimal
C#
Kestrel
4,096
515,418
4.09GB/s
✓
2xx: 2,577,094
3xx: 0
4xx: 0
5xx: 0
7543.1%
435.8MiB
4.47ms
18.90ms
23
Starlette
Python
uvicorn
4,096
435,616
3.46GB/s
✓
2xx: 2,178,082
3xx: 0
4xx: 0
5xx: 0
10697.1%
4.7GiB
8.02ms
29.60ms
24
h2o
C
h2o
4,096
428,342
4.14GB/s
✓
2xx: 2,141,712
3xx: 0
4xx: 0
5xx: 0
11061.3%
98.2MiB
8.48ms
18.20ms
25
kemal
Crystal
Kemal
4,096
366,345
2.92GB/s
✓
2xx: 1,831,726
3xx: 0
4xx: 0
5xx: 0
10622.7%
3.2GiB
10.04ms
59.80ms
26
FastAPI
Python
uvicorn
4,096
344,972
2.74GB/s
✓
2xx: 1,724,861
3xx: 0
4xx: 0
5xx: 0
10559.5%
8.5GiB
9.99ms
41.60ms
27
ktor
Kotlin
Netty
4,096
326,945
2.59GB/s
✓
2xx: 1,634,725
3xx: 0
4xx: 0
5xx: 0
5418.5%
5.8GiB
11.41ms
65.00ms
28
go-fasthttp
Go
fasthttp
4,096
314,945
2.48GB/s
✓
2xx: 1,574,725
3xx: 0
4xx: 0
5xx: 0
7160.1%
695.6MiB
11.34ms
208.00ms
29
prologue
Nim
asynchserver
4,096
312,457
2.49GB/s
✓
2xx: 1,562,286
3xx: 0
4xx: 0
5xx: 0
11060.1%
9.1GiB
12.01ms
30.90ms
30
caddy
Go
caddy
4,096
307,663
2.42GB/s
✓
2xx: 1,538,318
3xx: 0
4xx: 0
5xx: 0
7143.9%
1.2GiB
11.82ms
110.50ms
31
Express
JS
V8
4,096
299,614
2.38GB/s
✓
2xx: 1,498,071
3xx: 0
4xx: 0
5xx: 0
10572.1%
11.6GiB
10.07ms
28.00ms
32
spring-jvm-jetty
Java
Jetty
4,096
297,291
2.37GB/s
✓
2xx: 1,486,459
3xx: 0
4xx: 0
5xx: 0
7956.5%
7.5GiB
4.59ms
17.30ms
33
nginx-openresty
Lua
openresty
4,096
296,889
2.35GB/s
✓
2xx: 1,484,449
3xx: 0
4xx: 0
5xx: 0
10687.1%
3.9GiB
12.63ms
30.30ms
34
Sinatra
Ruby
puma
4,096
245,203
1.93GB/s
✓
2xx: 1,226,017
3xx: 0
4xx: 0
5xx: 0
10284.1%
9.7GiB
15.56ms
48.90ms
35
spring-jvm
Java
Tomcat
4,096
191,727
1.53GB/s
✓
2xx: 958,636
3xx: 0
4xx: 0
5xx: 0
4644.3%
4.5GiB
20.46ms
35.30ms
36
gin
Go
gin
4,096
174,851
1.38GB/s
✓
2xx: 874,259
3xx: 0
4xx: 0
5xx: 0
7731.9%
432.9MiB
21.50ms
664.40ms
37
echo
Go
echo
4,096
164,227
1.30GB/s
✓
2xx: 821,135
3xx: 0
4xx: 0
5xx: 0
7672.2%
371.4MiB
22.34ms
776.50ms
38
chi
Go
chi
4,096
158,040
1.25GB/s
✓
2xx: 790,203
3xx: 0
4xx: 0
5xx: 0
7407.4%
389.9MiB
23.25ms
882.80ms
39
drogon
C++
drogon
4,096
149,705
1.38GB/s
✓
2xx: 748,526
3xx: 0
4xx: 0
5xx: 0
12017.0%
141.2MiB
26.34ms
56.80ms
40
Rails
Ruby
puma
4,096
146,127
1.17GB/s
✓
2xx: 730,636
3xx: 0
4xx: 0
5xx: 0
10063.9%
12.0GiB
26.27ms
63.50ms
41
phoenix
Elixir
BEAM
4,096
125,936
1.00GB/s
✓
2xx: 629,680
3xx: 0
4xx: 0
5xx: 0
10677.5%
1.8GiB
27.45ms
66.20ms
42
fiber
Go
fiber
4,096
125,297
1009.96MB/s
✓
2xx: 626,487
3xx: 0
4xx: 0
5xx: 0
5850.6%
171.3MiB
15.20ms
107.60ms
43
h2o-mruby
Ruby
h2o
4,096
97,145
791.90MB/s
✓
2xx: 485,725
3xx: 0
4xx: 0
5xx: 0
11731.2%
576.2MiB
9.66ms
20.00ms
44
Django
Python
gunicorn
4,096
95,750
881.15MB/s
✓
2xx: 478,750
3xx: 0
4xx: 0
5xx: 0
9017.1%
7.9GiB
22.79ms
29.40ms
45
flask
Python
gunicorn
4,096
86,753
796.54MB/s
✓
2xx: 433,768
3xx: 0
4xx: 0
5xx: 0
5514.5%
3.2GiB
25.62ms
42.90ms
46
gleam-mist
Gleam
BEAM
4,096
74,373
605.50MB/s
✓
2xx: 371,868
3xx: 0
4xx: 0
5xx: 0
11662.1%
897.2MiB
8.02ms
21.60ms
47
ulfius
C
libmicrohttpd
4,096
58,835
555.07MB/s
✓
2xx: 294,176
3xx: 0
4xx: 0
5xx: 0
12240.0%
268.1MiB
16.49ms
67.20ms
48
rocket
Rust
rocket
4,096
44,202
364.60MB/s
✓
2xx: 221,014
3xx: 0
4xx: 0
5xx: 0
1326.6%
539.9MiB
91.14ms
646.10ms
49
hummingbird
Swift
Hummingbird
4,096
37,785
304.69MB/s
✓
2xx: 188,928
3xx: 0
4xx: 0
5xx: 0
11695.6%
132.7MiB
46.90ms
159.60ms
#
Framework
Lang
Engine
Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
1
nginx
C
nginx
16,384
1,571,138
12.63GB/s
✓
2xx: 7,855,693
3xx: 0
4xx: 0
5xx: 0
7462.7%
3.6GiB
7.41ms
39.70ms
2
blitz
Zig
io_uring
16,384
1,303,812
10.29GB/s
✓
2xx: 6,532,100
3xx: 0
4xx: 0
5xx: 0
7923.4%
4.6GiB
8.81ms
53.60ms
3
hyper
Rust
hyper
16,384
1,130,563
8.97GB/s
✓
2xx: 5,675,427
3xx: 0
4xx: 0
5xx: 0
9074.4%
597.6MiB
11.38ms
55.10ms
4
ntex-tokio
Rust
Tokio
16,384
1,077,264
8.55GB/s
✓
2xx: 5,397,096
3xx: 0
4xx: 0
5xx: 0
9064.6%
453.7MiB
11.22ms
47.20ms
5
actix
Rust
actix
16,384
1,043,676
8.28GB/s
✓
2xx: 5,228,821
3xx: 0
4xx: 0
5xx: 0
8495.1%
645.9MiB
11.66ms
45.40ms
6
ntex-iouring
Rust
io_uring
16,384
1,040,219
8.24GB/s
✓
2xx: 5,201,098
3xx: 0
4xx: 0
5xx: 0
8994.1%
669.8MiB
11.87ms
45.30ms
7
salvo
Rust
Salvo
16,384
751,379
5.99GB/s
✓
2xx: 3,756,899
3xx: 0
4xx: 0
5xx: 0
6546.0%
817.7MiB
16.97ms
32.80ms
8
Elysia
TS
Bun
16,384
727,237
5.71GB/s
✓
2xx: 3,636,188
3xx: 0
4xx: 0
5xx: 0
9029.4%
6.4GiB
20.22ms
51.90ms
9
bun
TS
JSC
16,384
716,646
5.63GB/s
✓
2xx: 3,583,232
3xx: 0
4xx: 0
5xx: 0
8714.8%
3.2GiB
20.39ms
62.80ms
10
ultimate-express
JS
uWebSockets
16,384
677,682
5.39GB/s
✓
2xx: 3,395,188
3xx: 0
4xx: 0
5xx: 0
9313.4%
5.9GiB
21.54ms
71.50ms
11
FastPySGI-WSGI
Python
libuv
16,384
674,299
5.36GB/s
✓
2xx: 3,371,498
3xx: 0
4xx: 0
5xx: 0
9486.9%
3.5GiB
21.69ms
70.70ms
12
Hono (Bun)
TS
JSC
16,384
671,179
5.29GB/s
✓
2xx: 3,355,898
3xx: 0
4xx: 0
5xx: 0
8582.3%
4.1GiB
22.06ms
53.80ms
13
FastPySGI-ASGI
Python
libuv
16,384
592,124
4.71GB/s
✓
2xx: 2,960,624
3xx: 0
4xx: 0
5xx: 0
10132.4%
3.8GiB
25.25ms
80.20ms
14
deno
TS
V8
16,384
560,729
4.43GB/s
✓
2xx: 2,803,649
3xx: 0
4xx: 0
5xx: 0
8405.7%
4.8GiB
23.05ms
64.50ms
15
node
JS
V8
16,384
541,449
4.27GB/s
✓
2xx: 2,707,248
3xx: 0
4xx: 0
5xx: 0
9822.3%
3.1GiB
17.98ms
44.40ms
16
GenHTTP
C#
GenHTTP
16,384
539,415
4.26GB/s
✓
2xx: 2,697,078
3xx: 0
4xx: 0
5xx: 0
8138.7%
4.5GiB
24.08ms
60.40ms
17
Fastify
JS
V8
16,384
512,471
4.06GB/s
✓
2xx: 2,562,356
3xx: 0
4xx: 0
5xx: 0
8687.6%
6.4GiB
21.86ms
58.30ms
18
quarkus-jvm
Java
Netty
16,384
510,604
4.05GB/s
✓
2xx: 2,553,020
3xx: 0
4xx: 0
5xx: 0
10177.3%
10.6GiB
25.38ms
84.80ms
19
vertx
Java
Netty
16,384
498,504
3.93GB/s
✓
2xx: 2,497,507
3xx: 0
4xx: 0
5xx: 0
9380.7%
11.1GiB
27.12ms
93.20ms
20
hono (node)
JS
Node
16,384
481,260
3.81GB/s
✓
2xx: 2,406,302
3xx: 0
4xx: 0
5xx: 0
8934.3%
5.8GiB
22.92ms
50.10ms
21
Koa
JS
V8
16,384
466,847
3.69GB/s
✓
2xx: 2,334,235
3xx: 0
4xx: 0
5xx: 0
10008.1%
5.5GiB
22.62ms
55.40ms
22
aspnet-minimal
C#
Kestrel
16,384
416,197
3.30GB/s
✓
2xx: 2,080,988
3xx: 0
4xx: 0
5xx: 0
8171.9%
956.7MiB
22.62ms
97.60ms
23
h2o
C
h2o
16,384
414,205
4.00GB/s
✓
2xx: 2,071,029
3xx: 0
4xx: 0
5xx: 0
10283.8%
211.0MiB
36.62ms
84.70ms
24
Starlette
Python
uvicorn
16,384
355,996
2.83GB/s
✓
2xx: 1,779,983
3xx: 0
4xx: 0
5xx: 0
10364.8%
5.2GiB
35.81ms
120.60ms
25
kemal
Crystal
Kemal
16,384
353,628
2.82GB/s
✓
2xx: 1,768,140
3xx: 0
4xx: 0
5xx: 0
10013.8%
4.7GiB
42.69ms
354.00ms
26
ktor
Kotlin
Netty
16,384
309,818
2.45GB/s
✓
2xx: 1,549,093
3xx: 0
4xx: 0
5xx: 0
5063.1%
12.2GiB
44.74ms
145.00ms
27
caddy
Go
caddy
16,384
299,560
2.36GB/s
✓
2xx: 1,497,802
3xx: 0
4xx: 0
5xx: 0
7835.5%
1.8GiB
29.45ms
893.90ms
28
nginx-openresty
Lua
openresty
16,384
288,978
2.29GB/s
✓
2xx: 1,444,890
3xx: 0
4xx: 0
5xx: 0
10285.3%
4.0GiB
53.54ms
151.40ms
29
spring-jvm-jetty
Java
Jetty
16,384
287,089
2.29GB/s
✓
2xx: 1,435,449
3xx: 0
4xx: 0
5xx: 0
7562.3%
10.7GiB
38.60ms
84.20ms
30
FastAPI
Python
uvicorn
16,384
283,743
2.25GB/s
✓
2xx: 1,418,716
3xx: 0
4xx: 0
5xx: 0
10413.3%
7.6GiB
46.44ms
164.30ms
31
prologue
Nim
asynchserver
16,384
279,681
2.23GB/s
✓
2xx: 1,398,408
3xx: 0
4xx: 0
5xx: 0
10628.7%
9.6GiB
54.94ms
129.60ms
32
go-fasthttp
Go
fasthttp
16,384
277,660
2.19GB/s
✓
2xx: 1,388,301
3xx: 0
4xx: 0
5xx: 0
8634.4%
1.6GiB
28.97ms
616.90ms
33
Express
JS
V8
16,384
275,281
2.19GB/s
✓
2xx: 1,376,406
3xx: 0
4xx: 0
5xx: 0
10718.7%
12.3GiB
34.88ms
79.90ms
34
Sinatra
Ruby
puma
16,384
227,674
1.80GB/s
✓
2xx: 1,138,371
3xx: 0
4xx: 0
5xx: 0
9768.8%
9.5GiB
63.55ms
162.30ms
35
gin
Go
gin
16,384
197,883
1.56GB/s
✓
2xx: 989,418
3xx: 0
4xx: 0
5xx: 0
8002.1%
811.8MiB
45.00ms
1.61s
36
chi
Go
chi
16,384
196,534
1.55GB/s
✓
2xx: 982,670
3xx: 0
4xx: 0
5xx: 0
7722.9%
827.6MiB
36.86ms
1.35s
37
echo
Go
echo
16,384
169,417
1.34GB/s
✓
2xx: 847,086
3xx: 0
4xx: 0
5xx: 0
7508.6%
779.1MiB
41.56ms
1.11s
38
spring-jvm
Java
Tomcat
16,384
156,504
1.25GB/s
✓
2xx: 782,524
3xx: 0
4xx: 0
5xx: 0
3812.7%
6.1GiB
90.59ms
122.50ms
39
fiber
Go
fiber
16,384
154,173
1.21GB/s
✓
2xx: 770,865
3xx: 0
4xx: 0
5xx: 0
6723.6%
284.2MiB
25.48ms
292.70ms
40
drogon
C++
drogon
16,384
141,398
1.31GB/s
✓
2xx: 706,990
3xx: 0
4xx: 0
5xx: 0
11054.4%
328.2MiB
109.28ms
216.80ms
41
Rails
Ruby
puma
16,384
135,482
1.08GB/s
✓
2xx: 678,767
3xx: 0
4xx: 0
5xx: 0
10180.4%
12.0GiB
103.82ms
207.90ms
42
phoenix
Elixir
BEAM
16,384
105,482
861.22MB/s
✓
2xx: 527,413
3xx: 0
4xx: 0
5xx: 0
10509.2%
2.5GiB
75.14ms
343.10ms
43
h2o-mruby
Ruby
h2o
16,384
90,511
737.79MB/s
✓
2xx: 452,557
3xx: 0
4xx: 0
5xx: 0
11910.2%
582.4MiB
9.92ms
21.20ms
44
gleam-mist
Gleam
BEAM
16,384
66,906
544.63MB/s
✓
2xx: 334,531
3xx: 0
4xx: 0
5xx: 0
11235.7%
1.2GiB
9.19ms
28.80ms
45
ulfius
C
libmicrohttpd
16,384
56,403
532.48MB/s
✓
2xx: 282,581
3xx: 0
4xx: 0
5xx: 0
11088.8%
265.5MiB
17.03ms
66.10ms
46
rocket
Rust
rocket
16,384
43,237
359.78MB/s
✓
2xx: 216,185
3xx: 0
4xx: 0
5xx: 0
1329.3%
752.8MiB
212.67ms
2.43s
47
Django
Python
gunicorn
16,384
41,615
383.25MB/s
✓
2xx: 208,909
3xx: 0
4xx: 0
5xx: 0
2767.4%
3.8GiB
66.80ms
853.20ms
48
hummingbird
Swift
Hummingbird
16,384
37,966
306.19MB/s
✓
2xx: 189,832
3xx: 0
4xx: 0
5xx: 0
11404.9%
138.2MiB
57.22ms
104.20ms
49
flask
Python
gunicorn
16,384
37,439
344.05MB/s
✓
2xx: 187,948
3xx: 0
4xx: 0
5xx: 0
2620.2%
3.1GiB
67.24ms
640.70ms
Results
Baseline
Short-lived Con.
JSON Processing
Upload (20 MB)
Compression
Noisy
Mixed Workload
Pipelined (16)
Async DB
Each request sends a 20 MB binary payload via
POST /upload. The server reads the entire body and returns its CRC32 checksum. Measures request body ingestion throughput — how efficiently a framework handles large uploads, including buffering, memory management, and I/O handling under sustained load.Type
All
Framework
Engine
Conn
Best
64
256
512
Click a row to expand details
#
Framework
Lang
Engine
Conn
Req/s
In BW
Err
CPU
Mem
Avg Lat
P99
#
Framework
Lang
Engine
Conn
Req/s
In BW
Err
CPU
Mem
Avg Lat
P99
1
hummingbird
Swift
Hummingbird
64
1,301
25.41GB/s
✓
2xx: 6,548
3xx: 0
4xx: 0
5xx: 0
5547.4%
144.0MiB
48.93ms
77.40ms
2
spring-jvm
Java
Tomcat
64
1,233
24.08GB/s
✓
2xx: 6,205
3xx: 0
4xx: 0
5xx: 0
5526.3%
1.1GiB
51.53ms
67.70ms
3
blitz
Zig
io_uring
64
1,160
22.66GB/s
✓
2xx: 5,836
3xx: 0
4xx: 0
5xx: 0
4887.6%
5.4GiB
55.26ms
96.90ms
4
node
JS
V8
64
1,092
21.33GB/s
✓
2xx: 5,505
3xx: 0
4xx: 0
5xx: 0
5535.4%
7.1GiB
58.21ms
80.80ms
5
nginx
C
nginx
64
1,087
21.23GB/s
✓
2xx: 5,468
3xx: 0
4xx: 0
5xx: 0
4029.0%
5.5GiB
58.69ms
214.70ms
6
actix
Rust
actix
64
1,058
20.66GB/s
✓
2xx: 5,337
3xx: 0
4xx: 0
5xx: 0
5075.7%
5.7GiB
60.04ms
117.60ms
7
ultimate-express
JS
uWebSockets
64
1,016
19.84GB/s
✓
2xx: 5,111
3xx: 0
4xx: 0
5xx: 0
4769.9%
8.0GiB
62.78ms
211.50ms
8
fiber
Go
fiber
64
976
19.06GB/s
✓
2xx: 4,910
3xx: 0
4xx: 0
5xx: 0
5425.9%
2.1GiB
65.32ms
103.80ms
9
go-fasthttp
Go
fasthttp
64
963
18.81GB/s
✓
2xx: 4,857
3xx: 0
4xx: 0
5xx: 0
5206.9%
6.0GiB
66.36ms
128.30ms
10
Express
JS
V8
64
946
18.48GB/s
✓
2xx: 4,760
3xx: 0
4xx: 0
5xx: 0
6036.0%
7.4GiB
31.47ms
72.00ms
11
FastPySGI-ASGI
Python
libuv
64
938
18.32GB/s
✓
2xx: 4,723
3xx: 0
4xx: 0
5xx: 0
5505.3%
2.2GiB
67.71ms
325.10ms
12
quarkus-jvm
Java
Netty
64
869
16.97GB/s
✓
2xx: 4,348
3xx: 0
4xx: 0
5xx: 0
7562.3%
10.4GiB
74.09ms
89.10ms
13
FastPySGI-WSGI
Python
libuv
64
831
16.23GB/s
✓
2xx: 4,182
3xx: 0
4xx: 0
5xx: 0
4910.1%
2.3GiB
76.51ms
354.70ms
14
ktor
Kotlin
Netty
64
829
16.19GB/s
✓
2xx: 4,154
3xx: 0
4xx: 0
5xx: 0
8365.3%
1.7GiB
77.39ms
122.30ms
15
Django
Python
gunicorn
64
815
15.92GB/s
✓
2xx: 4,077
3xx: 0
4xx: 0
5xx: 0
7472.5%
8.4GiB
77.79ms
97.30ms
16
ulfius
C
libmicrohttpd
64
809
15.80GB/s
✓
2xx: 4,082
3xx: 0
4xx: 0
5xx: 0
6051.4%
2.6GiB
78.51ms
106.40ms
17
flask
Python
gunicorn
64
769
15.02GB/s
✓
2xx: 3,849
3xx: 0
4xx: 0
5xx: 0
6899.3%
6.1GiB
82.52ms
107.00ms
18
hyper
Rust
hyper
64
671
13.11GB/s
✓
2xx: 3,376
3xx: 0
4xx: 0
5xx: 0
4763.2%
3.2GiB
95.06ms
259.50ms
19
salvo
Rust
Salvo
64
651
12.71GB/s
✓
2xx: 3,285
3xx: 0
4xx: 0
5xx: 0
5919.0%
3.1GiB
97.94ms
143.40ms
20
rocket
Rust
rocket
64
628
12.27GB/s
✓
2xx: 3,157
3xx: 0
4xx: 0
5xx: 0
2053.5%
4.2GiB
101.24ms
327.40ms
21
Koa
JS
V8
64
608
11.88GB/s
✓
2xx: 3,065
3xx: 0
4xx: 0
5xx: 0
7436.4%
19.7GiB
104.95ms
148.00ms
22
drogon
C++
drogon
64
602
11.76GB/s
✓
2xx: 3,010
3xx: 0
4xx: 0
5xx: 0
5220.4%
121.7MiB
106.11ms
267.60ms
23
GenHTTP
C#
GenHTTP
64
590
11.52GB/s
✓
2xx: 2,951
3xx: 0
4xx: 0
5xx: 0
6851.2%
524.9MiB
108.67ms
117.80ms
24
Fastify
JS
V8
64
569
11.11GB/s
✓
2xx: 2,866
3xx: 0
4xx: 0
5xx: 0
8195.1%
15.8GiB
111.94ms
167.50ms
25
kemal
Crystal
Kemal
64
475
9.28GB/s
✓
2xx: 2,386
3xx: 0
4xx: 0
5xx: 0
4908.0%
11.7GiB
134.16ms
375.50ms
26
h2o
C
h2o
64
457
8.93GB/s
✓
2xx: 2,297
3xx: 0
4xx: 0
5xx: 0
4692.2%
7.2GiB
138.86ms
345.70ms
27
Starlette
Python
uvicorn
64
438
8.55GB/s
✓
2xx: 2,192
3xx: 0
4xx: 0
5xx: 0
1786.6%
3.6GiB
145.98ms
276.00ms
28
FastAPI
Python
uvicorn
64
417
8.14GB/s
✓
2xx: 2,087
3xx: 0
4xx: 0
5xx: 0
1907.6%
4.5GiB
152.73ms
249.10ms
29
Sinatra
Ruby
puma
64
409
7.99GB/s
✓
2xx: 2,045
3xx: 0
4xx: 0
5xx: 0
5984.4%
14.2GiB
156.40ms
284.10ms
30
Hono (Bun)
TS
JSC
64
402
7.85GB/s
✓
2xx: 2,010
3xx: 0
4xx: 0
5xx: 0
4809.0%
7.0GiB
157.90ms
464.10ms
31
Elysia
TS
Bun
64
400
7.81GB/s
✓
2xx: 2,009
3xx: 0
4xx: 0
5xx: 0
4786.3%
9.1GiB
158.00ms
531.20ms
32
nginx-openresty
Lua
openresty
64
383
7.48GB/s
✓
2xx: 1,917
3xx: 0
4xx: 0
5xx: 0
4764.6%
30.2GiB
165.81ms
813.80ms
33
hono (node)
JS
Node
64
381
7.44GB/s
✓
2xx: 1,913
3xx: 0
4xx: 0
5xx: 0
8188.9%
14.9GiB
167.19ms
260.10ms
34
h2o-mruby
Ruby
h2o
64
373
7.29GB/s
✓
2xx: 1,879
3xx: 0
4xx: 0
5xx: 0
6244.4%
67.7GiB
169.89ms
333.10ms
35
spring-jvm-jetty
Java
Jetty
64
350
6.84GB/s
✓
2xx: 1,760
3xx: 0
4xx: 0
5xx: 0
5973.6%
18.8GiB
181.71ms
330.40ms
36
gleam-mist
Gleam
BEAM
64
323
6.31GB/s
✓
2xx: 1,616
3xx: 0
4xx: 0
5xx: 0
1056.4%
9.9GiB
189.89ms
1.03s
37
bun
TS
JSC
64
322
6.29GB/s
✓
2xx: 1,611
3xx: 0
4xx: 0
5xx: 0
5379.9%
5.2GiB
196.69ms
541.80ms
38
caddy
Go
caddy
64
318
6.21GB/s
✓
2xx: 1,603
3xx: 0
4xx: 0
5xx: 0
6553.4%
35.5GiB
198.86ms
274.20ms
39
gin
Go
gin
64
305
5.96GB/s
✓
2xx: 1,539
3xx: 0
4xx: 0
5xx: 0
5088.9%
8.3GiB
207.05ms
345.20ms
40
echo
Go
echo
64
302
5.90GB/s
✓
2xx: 1,513
3xx: 0
4xx: 0
5xx: 0
4492.0%
7.8GiB
211.64ms
372.10ms
41
chi
Go
chi
64
301
5.88GB/s
✓
2xx: 1,507
3xx: 0
4xx: 0
5xx: 0
4709.8%
7.5GiB
209.33ms
369.80ms
42
vertx
Java
Netty
64
256
5.00GB/s
✓
2xx: 1,287
3xx: 0
4xx: 0
5xx: 0
6278.4%
18.0GiB
247.04ms
295.90ms
43
prologue
Nim
asynchserver
64
252
4.92GB/s
✓
2xx: 1,262
3xx: 0
4xx: 0
5xx: 0
5041.9%
45.7GiB
250.38ms
578.40ms
44
deno
TS
V8
64
225
4.39GB/s
✓
2xx: 1,127
3xx: 0
4xx: 0
5xx: 0
1472.8%
12.4GiB
262.18ms
947.10ms
45
ntex-tokio
Rust
Tokio
64
207
4.04GB/s
✓
2xx: 1,041
3xx: 0
4xx: 0
5xx: 0
5897.1%
546.9MiB
301.26ms
600.60ms
46
Rails
Ruby
puma
64
204
3.98GB/s
✓
2xx: 1,024
3xx: 0
4xx: 0
5xx: 0
5751.3%
20.0GiB
305.97ms
499.40ms
47
aspnet-minimal
C#
Kestrel
64
172
3.36GB/s
✓
2xx: 860
3xx: 0
4xx: 0
5xx: 0
4117.2%
22.4GiB
364.30ms
845.60ms
48
phoenix
Elixir
BEAM
64
167
3.26GB/s
✓
2xx: 837
3xx: 0
4xx: 0
5xx: 0
2220.0%
2.9GiB
373.40ms
490.70ms
#
Framework
Lang
Engine
Conn
Req/s
In BW
Err
CPU
Mem
Avg Lat
P99
1
hummingbird
Swift
Hummingbird
256
1,309
25.57GB/s
✓
2xx: 6,641
3xx: 0
4xx: 0
5xx: 0
5523.1%
680.9MiB
190.53ms
552.00ms
2
spring-jvm
Java
Tomcat
256
1,294
25.27GB/s
✓
2xx: 6,549
3xx: 0
4xx: 0
5xx: 0
6031.2%
1.3GiB
193.47ms
395.30ms
3
nginx
C
nginx
256
960
18.75GB/s
✓
2xx: 4,881
3xx: 0
4xx: 0
5xx: 0
3874.5%
6.2GiB
256.60ms
649.50ms
4
fiber
Go
fiber
256
953
18.61GB/s
✓
2xx: 4,835
3xx: 0
4xx: 0
5xx: 0
5208.7%
8.1GiB
260.91ms
590.70ms
5
ultimate-express
JS
uWebSockets
256
951
18.57GB/s
✓
2xx: 4,823
3xx: 0
4xx: 0
5xx: 0
5820.5%
10.3GiB
262.24ms
639.80ms
6
Express
JS
V8
256
947
18.50GB/s
✓
2xx: 4,803
3xx: 0
4xx: 0
5xx: 0
6991.1%
9.0GiB
97.04ms
281.80ms
7
node
JS
V8
256
928
18.13GB/s
✓
2xx: 4,709
3xx: 0
4xx: 0
5xx: 0
6562.0%
7.9GiB
268.41ms
619.20ms
8
go-fasthttp
Go
fasthttp
256
910
17.77GB/s
✓
2xx: 4,614
3xx: 0
4xx: 0
5xx: 0
5387.6%
15.6GiB
272.41ms
1.56s
9
Django
Python
gunicorn
256
865
16.89GB/s
✓
2xx: 4,325
3xx: 0
4xx: 0
5xx: 0
11114.5%
8.4GiB
286.66ms
555.50ms
10
ulfius
C
libmicrohttpd
256
864
16.88GB/s
✓
2xx: 4,375
3xx: 0
4xx: 0
5xx: 0
7252.2%
9.6GiB
286.90ms
670.60ms
11
flask
Python
gunicorn
256
782
15.27GB/s
✓
2xx: 3,910
3xx: 0
4xx: 0
5xx: 0
10506.5%
6.3GiB
318.77ms
379.80ms
12
ktor
Kotlin
Netty
256
720
14.06GB/s
✓
2xx: 3,618
3xx: 0
4xx: 0
5xx: 0
8697.0%
1.7GiB
345.42ms
552.30ms
13
blitz
Zig
io_uring
256
691
13.50GB/s
1,514
2xx: 3,519
3xx: 0
4xx: 1,514
5xx: 0
5577.1%
7.5GiB
250.19ms
523.90ms
14
FastPySGI-ASGI
Python
libuv
256
686
13.40GB/s
✓
2xx: 3,481
3xx: 0
4xx: 0
5xx: 0
6681.2%
6.6GiB
355.46ms
991.20ms
15
quarkus-jvm
Java
Netty
256
645
12.60GB/s
✓
2xx: 3,228
3xx: 0
4xx: 0
5xx: 0
8290.1%
10.6GiB
384.56ms
564.50ms
16
hyper
Rust
hyper
256
640
12.50GB/s
✓
2xx: 3,229
3xx: 0
4xx: 0
5xx: 0
5466.9%
7.0GiB
255.10ms
1.97s
17
GenHTTP
C#
GenHTTP
256
630
12.30GB/s
✓
2xx: 3,151
3xx: 0
4xx: 0
5xx: 0
11249.7%
912.9MiB
234.85ms
1.57s
18
FastPySGI-WSGI
Python
libuv
256
620
12.11GB/s
✓
2xx: 3,178
3xx: 0
4xx: 0
5xx: 0
6691.0%
6.4GiB
390.52ms
1.04s
19
actix
Rust
actix
256
616
12.03GB/s
✓
2xx: 3,087
3xx: 0
4xx: 0
5xx: 0
2557.3%
9.5GiB
359.64ms
1.86s
20
salvo
Rust
Salvo
256
608
11.88GB/s
✓
2xx: 3,074
3xx: 0
4xx: 0
5xx: 0
5070.8%
7.9GiB
401.69ms
1.33s
21
Koa
JS
V8
256
562
10.98GB/s
✓
2xx: 2,851
3xx: 0
4xx: 0
5xx: 0
8536.2%
20.6GiB
434.55ms
855.10ms
22
Fastify
JS
V8
256
525
10.25GB/s
✓
2xx: 2,651
3xx: 0
4xx: 0
5xx: 0
9002.8%
17.2GiB
461.78ms
1.01s
23
drogon
C++
drogon
256
513
10.02GB/s
✓
2xx: 2,569
3xx: 0
4xx: 0
5xx: 0
10484.3%
228.7MiB
473.04ms
1.25s
24
kemal
Crystal
Kemal
256
451
8.81GB/s
✓
2xx: 2,275
3xx: 0
4xx: 0
5xx: 0
8966.6%
19.6GiB
524.69ms
1.75s
25
Starlette
Python
uvicorn
256
431
8.42GB/s
✓
2xx: 2,204
3xx: 0
4xx: 0
5xx: 0
8460.2%
16.6GiB
545.51ms
1.32s
26
FastAPI
Python
uvicorn
256
428
8.36GB/s
✓
2xx: 2,180
3xx: 0
4xx: 0
5xx: 0
8420.6%
20.0GiB
551.11ms
1.27s
27
rocket
Rust
rocket
256
412
8.05GB/s
✓
2xx: 2,064
3xx: 0
4xx: 0
5xx: 0
1510.9%
7.3GiB
586.85ms
1.31s
28
Sinatra
Ruby
puma
256
398
7.77GB/s
✓
2xx: 1,997
3xx: 0
4xx: 0
5xx: 0
11469.6%
17.5GiB
605.80ms
1.66s
29
nginx-openresty
Lua
openresty
256
386
7.54GB/s
✓
2xx: 1,930
3xx: 0
4xx: 0
5xx: 0
10268.9%
46.5GiB
600.56ms
2.27s
30
h2o
C
h2o
256
382
7.46GB/s
✓
2xx: 1,949
3xx: 0
4xx: 0
5xx: 0
8235.7%
14.3GiB
597.78ms
2.71s
31
hono (node)
JS
Node
256
348
6.80GB/s
✓
2xx: 1,782
3xx: 0
4xx: 0
5xx: 0
9153.4%
18.6GiB
671.88ms
1.30s
32
h2o-mruby
Ruby
h2o
256
335
6.54GB/s
✓
2xx: 1,703
3xx: 0
4xx: 0
5xx: 0
7070.1%
72.3GiB
620.36ms
3.02s
33
gleam-mist
Gleam
BEAM
256
312
6.09GB/s
✓
2xx: 1,562
3xx: 0
4xx: 0
5xx: 0
1270.0%
19.0GiB
584.00ms
4.30s
34
spring-jvm-jetty
Java
Jetty
256
294
5.74GB/s
✓
2xx: 1,476
3xx: 0
4xx: 0
5xx: 0
7222.5%
28.5GiB
618.03ms
2.93s
35
chi
Go
chi
256
292
5.70GB/s
✓
2xx: 1,467
3xx: 0
4xx: 0
5xx: 0
7497.2%
18.7GiB
799.25ms
1.75s
36
echo
Go
echo
256
291
5.68GB/s
✓
2xx: 1,459
3xx: 0
4xx: 0
5xx: 0
7529.5%
17.1GiB
793.76ms
1.75s
37
caddy
Go
caddy
256
290
5.66GB/s
✓
2xx: 1,482
3xx: 0
4xx: 0
5xx: 0
8399.9%
76.1GiB
742.80ms
2.01s
38
Elysia
TS
Bun
256
289
5.64GB/s
✓
2xx: 1,452
3xx: 0
4xx: 0
5xx: 0
10631.1%
13.5GiB
785.40ms
3.24s
39
Hono (Bun)
TS
JSC
256
287
5.61GB/s
✓
2xx: 1,438
3xx: 0
4xx: 0
5xx: 0
10675.5%
11.2GiB
795.31ms
3.16s
40
gin
Go
gin
256
286
5.59GB/s
✓
2xx: 1,443
3xx: 0
4xx: 0
5xx: 0
8022.6%
21.2GiB
813.13ms
1.99s
41
bun
TS
JSC
256
264
5.16GB/s
✓
2xx: 1,327
3xx: 0
4xx: 0
5xx: 0
11047.6%
10.3GiB
866.85ms
2.98s
42
prologue
Nim
asynchserver
256
241
4.71GB/s
✓
2xx: 1,213
3xx: 0
4xx: 0
5xx: 0
10248.6%
62.9GiB
930.73ms
2.49s
43
deno
TS
V8
256
230
4.49GB/s
✓
2xx: 1,151
3xx: 0
4xx: 0
5xx: 0
1470.8%
14.4GiB
363.71ms
4.11s
44
aspnet-minimal
C#
Kestrel
256
186
3.63GB/s
✓
2xx: 930
3xx: 0
4xx: 0
5xx: 0
5121.0%
23.1GiB
1.18s
2.95s
45
Rails
Ruby
puma
256
176
3.44GB/s
✓
2xx: 885
3xx: 0
4xx: 0
5xx: 0
12237.3%
21.9GiB
1.24s
3.86s
46
phoenix
Elixir
BEAM
256
152
2.97GB/s
✓
2xx: 760
3xx: 0
4xx: 0
5xx: 0
2386.9%
5.5GiB
1.35s
3.06s
47
vertx
Java
Netty
256
109
2.13GB/s
✓
2xx: 547
3xx: 0
4xx: 0
5xx: 0
3961.3%
23.7GiB
1.92s
3.77s
48
ntex-tokio
Rust
Tokio
256
56
1.09GB/s
✓
2xx: 282
3xx: 0
4xx: 0
5xx: 0
8877.4%
1.3GiB
2.31s
5.00s
#
Framework
Lang
Engine
Conn
Req/s
In BW
Err
CPU
Mem
Avg Lat
P99
1
spring-jvm
Java
Tomcat
512
1,265
24.71GB/s
✓
2xx: 6,427
3xx: 0
4xx: 0
5xx: 0
5779.3%
1.7GiB
388.75ms
572.50ms
2
hummingbird
Swift
Hummingbird
512
1,190
23.24GB/s
✓
2xx: 6,022
3xx: 0
4xx: 0
5xx: 0
5973.7%
1010.0MiB
375.53ms
1.18s
3
Express
JS
V8
512
947
18.50GB/s
✓
2xx: 4,824
3xx: 0
4xx: 0
5xx: 0
6890.8%
9.3GiB
176.05ms
538.30ms
4
fiber
Go
fiber
512
909
17.75GB/s
✓
2xx: 4,691
3xx: 0
4xx: 0
5xx: 0
5231.1%
16.1GiB
520.13ms
1.18s
5
nginx
C
nginx
512
889
17.36GB/s
✓
2xx: 4,601
3xx: 0
4xx: 0
5xx: 0
4071.9%
9.1GiB
527.26ms
1.39s
6
node
JS
V8
512
869
16.97GB/s
✓
2xx: 4,419
3xx: 0
4xx: 0
5xx: 0
6567.3%
8.2GiB
548.24ms
1.31s
7
Django
Python
gunicorn
512
864
16.88GB/s
✓
2xx: 4,324
3xx: 0
4xx: 0
5xx: 0
11231.3%
8.4GiB
561.64ms
832.50ms
8
ulfius
C
libmicrohttpd
512
856
16.72GB/s
✓
2xx: 4,369
3xx: 0
4xx: 0
5xx: 0
7434.3%
13.9GiB
552.25ms
1.36s
9
ultimate-express
JS
uWebSockets
512
843
16.46GB/s
✓
2xx: 4,300
3xx: 0
4xx: 0
5xx: 0
6190.9%
12.1GiB
553.40ms
1.70s
10
go-fasthttp
Go
fasthttp
512
842
16.45GB/s
✓
2xx: 4,339
3xx: 0
4xx: 0
5xx: 0
5313.0%
42.4GiB
561.53ms
2.55s
11
flask
Python
gunicorn
512
774
15.12GB/s
✓
2xx: 3,871
3xx: 0
4xx: 0
5xx: 0
10826.4%
6.4GiB
620.34ms
714.90ms
12
ktor
Kotlin
Netty
512
691
13.50GB/s
✓
2xx: 3,465
3xx: 0
4xx: 0
5xx: 0
8662.9%
1.8GiB
695.73ms
1.08s
13
quarkus-jvm
Java
Netty
512
638
12.46GB/s
✓
2xx: 3,190
3xx: 0
4xx: 0
5xx: 0
7192.1%
10.9GiB
749.16ms
1.11s
14
GenHTTP
C#
GenHTTP
512
612
11.95GB/s
✓
2xx: 3,064
3xx: 0
4xx: 0
5xx: 0
11120.1%
812.5MiB
346.79ms
3.44s
15
hyper
Rust
hyper
512
601
11.74GB/s
✓
2xx: 3,036
3xx: 0
4xx: 0
5xx: 0
5026.2%
8.1GiB
344.44ms
3.58s
16
FastPySGI-ASGI
Python
libuv
512
587
11.46GB/s
✓
2xx: 3,022
3xx: 0
4xx: 0
5xx: 0
6680.0%
13.3GiB
774.74ms
1.97s
17
salvo
Rust
Salvo
512
582
11.37GB/s
✓
2xx: 2,963
3xx: 0
4xx: 0
5xx: 0
5446.1%
11.7GiB
791.88ms
2.01s
18
actix
Rust
actix
512
559
10.92GB/s
✓
2xx: 2,809
3xx: 0
4xx: 0
5xx: 0
5057.7%
14.8GiB
747.47ms
4.61s
19
Koa
JS
V8
512
535
10.45GB/s
✓
2xx: 2,701
3xx: 0
4xx: 0
5xx: 0
8376.5%
23.5GiB
863.63ms
1.89s
20
FastPySGI-WSGI
Python
libuv
512
518
10.12GB/s
✓
2xx: 2,675
3xx: 0
4xx: 0
5xx: 0
6839.8%
12.1GiB
855.72ms
2.12s
21
Fastify
JS
V8
512
510
9.96GB/s
✓
2xx: 2,582
3xx: 0
4xx: 0
5xx: 0
8975.0%
21.9GiB
895.22ms
2.23s
22
drogon
C++
drogon
512
474
9.26GB/s
✓
2xx: 2,377
3xx: 0
4xx: 0
5xx: 0
11595.5%
334.4MiB
963.85ms
2.35s
23
kemal
Crystal
Kemal
512
432
8.44GB/s
✓
2xx: 2,198
3xx: 0
4xx: 0
5xx: 0
8528.6%
31.2GiB
1.01s
2.70s
24
rocket
Rust
rocket
512
427
8.34GB/s
✓
2xx: 2,141
3xx: 0
4xx: 0
5xx: 0
2278.1%
14.4GiB
1.05s
3.33s
25
Starlette
Python
uvicorn
512
399
7.79GB/s
✓
2xx: 1,998
3xx: 0
4xx: 0
5xx: 0
2000.0%
11.6GiB
1.13s
2.00s
26
FastAPI
Python
uvicorn
512
398
7.77GB/s
✓
2xx: 2,015
3xx: 0
4xx: 0
5xx: 0
9308.3%
22.5GiB
1.10s
2.53s
27
nginx-openresty
Lua
openresty
512
370
7.23GB/s
✓
2xx: 1,856
3xx: 0
4xx: 0
5xx: 0
10595.1%
48.6GiB
1.12s
3.12s
28
Sinatra
Ruby
puma
512
363
7.09GB/s
✓
2xx: 1,816
3xx: 0
4xx: 0
5xx: 0
11803.7%
17.3GiB
1.21s
3.23s
29
spring-jvm-jetty
Java
Jetty
512
359
7.01GB/s
✓
2xx: 1,807
3xx: 0
4xx: 0
5xx: 0
7919.0%
30.3GiB
468.32ms
1.33s
30
h2o
C
h2o
512
358
6.99GB/s
✓
2xx: 1,816
3xx: 0
4xx: 0
5xx: 0
8550.0%
21.5GiB
1.02s
4.54s
31
hono (node)
JS
Node
512
324
6.33GB/s
✓
2xx: 1,698
3xx: 0
4xx: 0
5xx: 0
8601.3%
23.7GiB
1.29s
3.08s
32
h2o-mruby
Ruby
h2o
512
315
6.15GB/s
✓
2xx: 1,592
3xx: 0
4xx: 0
5xx: 0
7106.7%
44.0GiB
635.12ms
4.35s
33
gleam-mist
Gleam
BEAM
512
275
5.37GB/s
✓
2xx: 1,375
3xx: 0
4xx: 0
5xx: 0
1318.8%
19.4GiB
778.22ms
4.38s
34
caddy
Go
caddy
512
269
5.25GB/s
✓
2xx: 1,361
3xx: 0
4xx: 0
5xx: 0
8724.3%
104.8GiB
1.28s
4.61s
35
gin
Go
gin
512
268
5.23GB/s
✓
2xx: 1,355
3xx: 0
4xx: 0
5xx: 0
7830.1%
34.0GiB
1.49s
3.54s
36
chi
Go
chi
512
266
5.20GB/s
✓
2xx: 1,346
3xx: 0
4xx: 0
5xx: 0
8463.0%
29.7GiB
1.55s
4.18s
37
echo
Go
echo
512
264
5.16GB/s
✓
2xx: 1,325
3xx: 0
4xx: 0
5xx: 0
7779.9%
31.8GiB
1.51s
3.49s
38
Hono (Bun)
TS
JSC
512
257
5.02GB/s
✓
2xx: 1,288
3xx: 0
4xx: 0
5xx: 0
11464.7%
15.4GiB
1.50s
4.57s
39
Elysia
TS
Bun
512
255
4.98GB/s
✓
2xx: 1,284
3xx: 0
4xx: 0
5xx: 0
11467.4%
17.9GiB
1.49s
4.42s
40
bun
TS
JSC
512
254
4.96GB/s
✓
2xx: 1,276
3xx: 0
4xx: 0
5xx: 0
11334.1%
13.4GiB
1.49s
4.62s
41
prologue
Nim
asynchserver
512
228
4.45GB/s
✓
2xx: 1,147
3xx: 0
4xx: 0
5xx: 0
10531.0%
85.4GiB
1.71s
4.37s
42
deno
TS
V8
512
217
4.24GB/s
✓
2xx: 1,086
3xx: 0
4xx: 0
5xx: 0
963.0%
15.1GiB
527.00ms
4.38s
43
aspnet-minimal
C#
Kestrel
512
168
3.28GB/s
✓
2xx: 844
3xx: 0
4xx: 0
5xx: 0
5752.3%
38.5GiB
2.14s
4.67s
44
Rails
Ruby
puma
512
163
3.18GB/s
✓
2xx: 821
3xx: 0
4xx: 0
5xx: 0
11914.5%
22.0GiB
1.99s
4.88s
45
phoenix
Elixir
BEAM
512
146
2.85GB/s
✓
2xx: 733
3xx: 0
4xx: 0
5xx: 0
2628.0%
8.3GiB
2.26s
4.89s
46
blitz
Zig
io_uring
512
72
1.41GB/s
4,258
2xx: 368
3xx: 0
4xx: 4,258
5xx: 0
6036.3%
7.9GiB
525.57ms
1.30s
47
vertx
Java
Netty
512
72
1.41GB/s
✓
2xx: 360
3xx: 0
4xx: 0
5xx: 0
4493.0%
25.9GiB
3.41s
4.31s
48
ntex-tokio
Rust
Tokio
512
52
1.02GB/s
✓
2xx: 266
3xx: 0
4xx: 0
5xx: 0
7262.1%
1.8GiB
3.02s
5.00s
Results
Baseline
Short-lived Con.
JSON Processing
Upload (20 MB)
Compression
Noisy
Mixed Workload
Pipelined (16)
Async DB
Requests
GET /compression with Accept-Encoding: gzip. The server loads a 6000-item dataset (~1 MB JSON) at startup and serves it gzip-compressed on the fly. Measures the throughput cost of real-time compression — only frameworks with built-in gzip support are eligible.Type
All
Framework
Engine
Conn
4096
16384
Click a row to expand details
#
Framework
Lang
Engine
Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
#
Framework
Lang
Engine
Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
1
deno
TS
V8
4,096
17,729
4.86GB/s
✓
2xx: 88,648
3xx: 0
4xx: 0
5xx: 0
10995.4%
12.8GiB
215.85ms
474.90ms
2
bun
TS
JSC
4,096
15,804
3.24GB/s
✓
2xx: 79,024
3xx: 0
4xx: 0
5xx: 0
11834.3%
3.3GiB
251.28ms
484.90ms
3
Elysia
TS
Bun
4,096
15,434
3.16GB/s
✓
2xx: 77,170
3xx: 0
4xx: 0
5xx: 0
11601.6%
6.7GiB
256.81ms
484.20ms
4
salvo
Rust
Salvo
4,096
15,297
3.56GB/s
✓
2xx: 76,488
3xx: 0
4xx: 0
5xx: 0
10888.4%
2.3GiB
255.92ms
904.80ms
5
Hono (Bun)
TS
JSC
4,096
14,849
3.05GB/s
✓
2xx: 74,395
3xx: 0
4xx: 0
5xx: 0
11344.5%
4.8GiB
265.80ms
518.60ms
6
go-fasthttp
Go
fasthttp
4,096
14,771
2.92GB/s
✓
2xx: 73,857
3xx: 0
4xx: 0
5xx: 0
11582.0%
14.4GiB
270.00ms
488.40ms
7
actix
Rust
actix
4,096
14,220
3.31GB/s
✓
2xx: 71,103
3xx: 0
4xx: 0
5xx: 0
11049.6%
5.7GiB
271.49ms
1.16s
8
ultimate-express
JS
uWebSockets
4,096
13,745
2.82GB/s
✓
2xx: 68,726
3xx: 0
4xx: 0
5xx: 0
11999.5%
8.8GiB
285.99ms
618.70ms
9
node
JS
V8
4,096
13,651
2.80GB/s
✓
2xx: 68,257
3xx: 0
4xx: 0
5xx: 0
11937.7%
7.6GiB
218.97ms
2.54s
10
hono (node)
JS
Node
4,096
13,043
2.67GB/s
✓
2xx: 65,218
3xx: 0
4xx: 0
5xx: 0
11867.9%
8.4GiB
220.42ms
2.42s
11
Koa
JS
V8
4,096
12,990
2.66GB/s
✓
2xx: 64,950
3xx: 0
4xx: 0
5xx: 0
11833.9%
8.4GiB
219.97ms
2.43s
12
Fastify
JS
V8
4,096
12,620
2.59GB/s
✓
2xx: 63,104
3xx: 0
4xx: 0
5xx: 0
11796.5%
8.6GiB
223.99ms
2.51s
13
ntex-tokio
Rust
Tokio
4,096
12,465
2.91GB/s
✓
2xx: 62,325
3xx: 0
4xx: 0
5xx: 0
11071.3%
4.1GiB
313.07ms
561.10ms
14
Express
JS
V8
4,096
12,415
2.55GB/s
✓
2xx: 62,079
3xx: 0
4xx: 0
5xx: 0
11902.6%
8.5GiB
226.92ms
2.65s
15
ntex-iouring
Rust
io_uring
4,096
11,687
2.82GB/s
✓
2xx: 58,439
3xx: 0
4xx: 0
5xx: 0
10950.6%
4.2GiB
334.29ms
598.60ms
16
prologue
Nim
asynchserver
4,096
11,320
2.55GB/s
✓
2xx: 56,602
3xx: 0
4xx: 0
5xx: 0
11434.4%
7.9GiB
346.88ms
1.57s
17
nginx
C
nginx
4,096
11,072
2.42GB/s
✓
2xx: 55,361
3xx: 0
4xx: 0
5xx: 0
11952.3%
3.6GiB
347.99ms
537.10ms
18
FastPySGI-WSGI
Python
libuv
4,096
10,771
2.36GB/s
✓
2xx: 53,859
3xx: 0
4xx: 0
5xx: 0
12078.6%
893.8MiB
315.22ms
3.43s
19
FastPySGI-ASGI
Python
libuv
4,096
10,664
2.33GB/s
✓
2xx: 53,323
3xx: 0
4xx: 0
5xx: 0
11996.4%
2.3GiB
366.70ms
1.73s
20
rocket
Rust
rocket
4,096
10,079
2.43GB/s
✓
2xx: 50,397
3xx: 0
4xx: 0
5xx: 0
6590.6%
2.0GiB
369.50ms
3.15s
21
quarkus-jvm
Java
Netty
4,096
10,058
2.20GB/s
✓
2xx: 50,294
3xx: 0
4xx: 0
5xx: 0
11697.3%
13.2GiB
387.04ms
777.90ms
22
Starlette
Python
uvicorn
4,096
9,954
2.18GB/s
✓
2xx: 49,772
3xx: 0
4xx: 0
5xx: 0
12466.8%
4.9GiB
369.15ms
1.11s
23
kemal
Crystal
Kemal
4,096
9,941
2.20GB/s
✓
2xx: 49,706
3xx: 0
4xx: 0
5xx: 0
11908.1%
2.7GiB
377.45ms
805.00ms
24
vertx
Java
Netty
4,096
9,894
2.16GB/s
✓
2xx: 49,471
3xx: 0
4xx: 0
5xx: 0
11525.8%
10.4GiB
393.25ms
788.60ms
25
FastAPI
Python
uvicorn
4,096
9,818
2.15GB/s
✓
2xx: 49,094
3xx: 0
4xx: 0
5xx: 0
11621.5%
8.5GiB
361.71ms
1.52s
26
ulfius
C
libmicrohttpd
4,096
9,752
2.37GB/s
✓
2xx: 48,762
3xx: 0
4xx: 0
5xx: 0
12032.8%
959.2MiB
101.72ms
1.32s
27
spring-jvm
Java
Tomcat
4,096
9,543
2.09GB/s
✓
2xx: 47,719
3xx: 0
4xx: 0
5xx: 0
11577.6%
4.6GiB
403.50ms
809.80ms
28
h2o
C
h2o
4,096
9,542
2.44GB/s
✓
2xx: 47,711
3xx: 0
4xx: 0
5xx: 0
12477.5%
158.8MiB
408.11ms
652.40ms
29
fiber
Go
fiber
4,096
9,483
2.06GB/s
✓
2xx: 47,416
3xx: 0
4xx: 0
5xx: 0
10571.7%
5.9GiB
341.73ms
2.82s
30
gleam-mist
Gleam
BEAM
4,096
9,470
2.07GB/s
✓
2xx: 47,350
3xx: 0
4xx: 0
5xx: 0
11717.7%
876.6MiB
129.61ms
2.74s
31
Sinatra
Ruby
puma
4,096
9,326
2.04GB/s
✓
2xx: 46,630
3xx: 0
4xx: 0
5xx: 0
11887.1%
23.9GiB
400.75ms
848.60ms
32
Django
Python
gunicorn
4,096
9,201
2.12GB/s
✓
2xx: 46,009
3xx: 0
4xx: 0
5xx: 0
11735.3%
8.4GiB
247.04ms
304.90ms
33
flask
Python
gunicorn
4,096
9,129
2.10GB/s
✓
2xx: 45,647
3xx: 0
4xx: 0
5xx: 0
11167.1%
3.4GiB
236.04ms
249.50ms
34
GenHTTP
C#
GenHTTP
4,096
8,277
2.33GB/s
✓
2xx: 41,388
3xx: 0
4xx: 0
5xx: 0
3270.5%
1.3GiB
360.26ms
2.62s
35
caddy
Go
caddy
4,096
8,147
1.47GB/s
✓
2xx: 40,736
3xx: 0
4xx: 0
5xx: 0
11248.4%
2.7GiB
475.65ms
1.86s
36
blitz
Zig
io_uring
4,096
7,933
1.44GB/s
✓
2xx: 39,667
3xx: 0
4xx: 0
5xx: 0
12181.8%
4.7GiB
489.12ms
660.50ms
37
hummingbird
Swift
Hummingbird
4,096
7,900
1.71GB/s
✓
2xx: 39,504
3xx: 0
4xx: 0
5xx: 0
11691.1%
904.6MiB
130.96ms
1.55s
38
Rails
Ruby
puma
4,096
7,836
1.72GB/s
✓
2xx: 39,184
3xx: 0
4xx: 0
5xx: 0
11646.8%
25.4GiB
483.10ms
928.60ms
39
chi
Go
chi
4,096
7,602
1.67GB/s
✓
2xx: 38,012
3xx: 0
4xx: 0
5xx: 0
9687.3%
3.4GiB
196.53ms
4.39s
40
gin
Go
gin
4,096
7,578
1.66GB/s
✓
2xx: 37,894
3xx: 0
4xx: 0
5xx: 0
10240.4%
2.9GiB
141.43ms
3.58s
41
echo
Go
echo
4,096
7,536
1.66GB/s
✓
2xx: 37,680
3xx: 0
4xx: 0
5xx: 0
10214.4%
3.1GiB
131.42ms
3.17s
42
h2o-mruby
Ruby
h2o
4,096
7,519
1.98GB/s
✓
2xx: 37,598
3xx: 0
4xx: 0
5xx: 0
11091.8%
190.7MiB
105.90ms
233.70ms
43
aspnet-minimal
C#
Kestrel
4,096
7,279
2.11GB/s
✓
2xx: 36,397
3xx: 0
4xx: 0
5xx: 0
3503.3%
847.2MiB
355.73ms
2.31s
44
nginx-openresty
Lua
openresty
4,096
6,947
1.52GB/s
✓
2xx: 34,736
3xx: 0
4xx: 0
5xx: 0
11991.3%
3.8GiB
549.53ms
947.00ms
45
phoenix
Elixir
BEAM
4,096
4,723
1.03GB/s
✓
2xx: 23,616
3xx: 0
4xx: 0
5xx: 0
12260.1%
2.5GiB
656.48ms
1.60s
46
drogon
C++
drogon
4,096
4,348
798.24MB/s
✓
2xx: 21,742
3xx: 0
4xx: 0
5xx: 0
12153.6%
556.1MiB
504.95ms
4.08s
47
ktor
Kotlin
Netty
4,096
4,063
701.40MB/s
✓
2xx: 20,317
3xx: 0
4xx: 0
5xx: 0
11981.4%
3.0GiB
905.45ms
1.21s
48
spring-jvm-jetty
Java
Jetty
4,096
3,727
647.80MB/s
✓
2xx: 18,637
3xx: 0
4xx: 0
5xx: 0
10520.9%
871.0MiB
109.72ms
1.96s
#
Framework
Lang
Engine
Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
1
deno
TS
V8
16,384
15,984
4.39GB/s
✓
2xx: 79,924
3xx: 0
4xx: 0
5xx: 0
10158.8%
17.3GiB
784.77ms
1.39s
2
bun
TS
JSC
16,384
15,602
3.20GB/s
✓
2xx: 78,013
3xx: 0
4xx: 0
5xx: 0
11509.8%
4.1GiB
900.61ms
2.12s
3
Elysia
TS
Bun
16,384
15,049
3.08GB/s
✓
2xx: 75,248
3xx: 0
4xx: 0
5xx: 0
11055.7%
7.1GiB
931.03ms
2.29s
4
Hono (Bun)
TS
JSC
16,384
14,682
3.01GB/s
✓
2xx: 73,412
3xx: 0
4xx: 0
5xx: 0
11757.7%
5.6GiB
950.00ms
2.33s
5
salvo
Rust
Salvo
16,384
14,201
3.31GB/s
✓
2xx: 71,009
3xx: 0
4xx: 0
5xx: 0
11111.7%
7.6GiB
850.33ms
2.30s
6
go-fasthttp
Go
fasthttp
16,384
13,736
2.72GB/s
✓
2xx: 68,680
3xx: 0
4xx: 0
5xx: 0
10704.9%
50.9GiB
990.97ms
1.73s
7
ultimate-express
JS
uWebSockets
16,384
13,298
2.73GB/s
✓
2xx: 66,494
3xx: 0
4xx: 0
5xx: 0
11436.5%
8.9GiB
1.03s
2.37s
8
node
JS
V8
16,384
13,229
2.71GB/s
✓
2xx: 66,149
3xx: 0
4xx: 0
5xx: 0
12203.9%
7.6GiB
257.75ms
2.80s
9
actix
Rust
actix
16,384
13,048
3.04GB/s
✓
2xx: 65,243
3xx: 0
4xx: 0
5xx: 0
11580.1%
19.4GiB
893.26ms
3.04s
10
Koa
JS
V8
16,384
12,329
2.53GB/s
✓
2xx: 61,645
3xx: 0
4xx: 0
5xx: 0
10873.8%
8.5GiB
300.12ms
2.75s
11
hono (node)
JS
Node
16,384
12,227
2.51GB/s
✓
2xx: 61,135
3xx: 0
4xx: 0
5xx: 0
10835.8%
8.5GiB
376.39ms
2.90s
12
Fastify
JS
V8
16,384
12,168
2.50GB/s
✓
2xx: 60,841
3xx: 0
4xx: 0
5xx: 0
11376.5%
8.2GiB
261.32ms
2.60s
13
Express
JS
V8
16,384
11,891
2.44GB/s
✓
2xx: 59,457
3xx: 0
4xx: 0
5xx: 0
11238.8%
8.6GiB
236.95ms
1.82s
14
prologue
Nim
asynchserver
16,384
11,047
2.49GB/s
✓
2xx: 55,235
3xx: 0
4xx: 0
5xx: 0
10904.5%
14.8GiB
997.22ms
2.49s
15
nginx
C
nginx
16,384
10,966
2.40GB/s
✓
2xx: 54,830
3xx: 0
4xx: 0
5xx: 0
11560.0%
3.7GiB
1.22s
1.96s
16
ntex-tokio
Rust
Tokio
16,384
10,673
2.49GB/s
✓
2xx: 53,365
3xx: 0
4xx: 0
5xx: 0
11239.1%
21.1GiB
1.10s
2.77s
17
FastPySGI-ASGI
Python
libuv
16,384
10,549
2.31GB/s
✓
2xx: 52,748
3xx: 0
4xx: 0
5xx: 0
11590.3%
3.1GiB
561.24ms
4.14s
18
FastPySGI-WSGI
Python
libuv
16,384
10,536
2.31GB/s
✓
2xx: 52,680
3xx: 0
4xx: 0
5xx: 0
12391.3%
1.4GiB
389.06ms
3.38s
19
vertx
Java
Netty
16,384
9,905
2.17GB/s
✓
2xx: 49,525
3xx: 0
4xx: 0
5xx: 0
11329.4%
8.7GiB
1.16s
2.92s
20
rocket
Rust
rocket
16,384
9,880
2.38GB/s
✓
2xx: 49,404
3xx: 0
4xx: 0
5xx: 0
6182.3%
398.1MiB
317.97ms
3.72s
21
quarkus-jvm
Java
Netty
16,384
9,781
2.14GB/s
✓
2xx: 48,905
3xx: 0
4xx: 0
5xx: 0
11359.6%
13.1GiB
1.17s
3.02s
22
ntex-iouring
Rust
io_uring
16,384
9,683
2.51GB/s
98
2xx: 48,514
3xx: 0
4xx: 98
5xx: 0
10477.7%
21.4GiB
1.19s
2.79s
23
ulfius
C
libmicrohttpd
16,384
9,567
2.32GB/s
✓
2xx: 47,839
3xx: 0
4xx: 0
5xx: 0
11537.1%
883.7MiB
101.42ms
1.56s
24
kemal
Crystal
Kemal
16,384
9,561
2.12GB/s
✓
2xx: 47,805
3xx: 0
4xx: 0
5xx: 0
11438.1%
6.1GiB
1.35s
2.88s
25
h2o
C
h2o
16,384
9,374
2.40GB/s
✓
2xx: 46,870
3xx: 0
4xx: 0
5xx: 0
12347.2%
271.3MiB
1.38s
2.78s
26
Starlette
Python
uvicorn
16,384
9,283
2.03GB/s
✓
2xx: 46,416
3xx: 0
4xx: 0
5xx: 0
12203.5%
4.8GiB
746.54ms
3.45s
27
spring-jvm
Java
Tomcat
16,384
9,222
2.02GB/s
✓
2xx: 46,112
3xx: 0
4xx: 0
5xx: 0
11070.3%
6.5GiB
1.11s
3.00s
28
gleam-mist
Gleam
BEAM
16,384
9,200
2.01GB/s
✓
2xx: 46,002
3xx: 0
4xx: 0
5xx: 0
11313.4%
1.6GiB
131.80ms
2.61s
29
Sinatra
Ruby
puma
16,384
8,747
1.91GB/s
✓
2xx: 43,737
3xx: 0
4xx: 0
5xx: 0
11968.1%
20.1GiB
1.05s
2.12s
30
fiber
Go
fiber
16,384
8,711
1.89GB/s
✓
2xx: 43,555
3xx: 0
4xx: 0
5xx: 0
9425.1%
14.2GiB
652.41ms
3.42s
31
FastAPI
Python
uvicorn
16,384
8,602
1.88GB/s
✓
2xx: 43,013
3xx: 0
4xx: 0
5xx: 0
11718.9%
8.7GiB
907.86ms
3.19s
32
Django
Python
gunicorn
16,384
7,689
1.78GB/s
✓
2xx: 38,523
3xx: 0
4xx: 0
5xx: 0
9129.2%
8.4GiB
301.35ms
1.12s
33
hummingbird
Swift
Hummingbird
16,384
7,648
1.68GB/s
✓
2xx: 38,244
3xx: 0
4xx: 0
5xx: 0
12035.0%
893.2MiB
155.03ms
1.63s
34
blitz
Zig
io_uring
16,384
7,609
1.38GB/s
✓
2xx: 38,045
3xx: 0
4xx: 0
5xx: 0
11463.0%
7.2GiB
1.51s
2.19s
35
Rails
Ruby
puma
16,384
7,534
1.65GB/s
✓
2xx: 37,672
3xx: 0
4xx: 0
5xx: 0
12064.2%
21.2GiB
1.35s
3.23s
36
GenHTTP
C#
GenHTTP
16,384
7,505
2.12GB/s
✓
2xx: 37,525
3xx: 0
4xx: 0
5xx: 0
3377.8%
2.2GiB
1.10s
3.53s
37
caddy
Go
caddy
16,384
7,411
1.40GB/s
✓
2xx: 37,059
3xx: 0
4xx: 0
5xx: 0
11401.0%
3.9GiB
906.58ms
3.78s
38
echo
Go
echo
16,384
7,353
1.65GB/s
✓
2xx: 36,766
3xx: 0
4xx: 0
5xx: 0
9188.5%
8.2GiB
356.95ms
2.89s
39
gin
Go
gin
16,384
7,342
1.61GB/s
✓
2xx: 36,713
3xx: 0
4xx: 0
5xx: 0
9278.9%
3.0GiB
128.13ms
3.16s
40
h2o-mruby
Ruby
h2o
16,384
7,124
1.87GB/s
✓
2xx: 35,622
3xx: 0
4xx: 0
5xx: 0
10348.8%
191.5MiB
112.15ms
290.90ms
41
chi
Go
chi
16,384
6,914
1.51GB/s
✓
2xx: 34,571
3xx: 0
4xx: 0
5xx: 0
8704.7%
2.2GiB
294.72ms
4.50s
42
nginx-openresty
Lua
openresty
16,384
6,835
1.52GB/s
✓
2xx: 34,245
3xx: 0
4xx: 0
5xx: 0
11413.1%
3.9GiB
1.73s
3.72s
43
aspnet-minimal
C#
Kestrel
16,384
6,494
1.98GB/s
✓
2xx: 32,474
3xx: 0
4xx: 0
5xx: 0
3297.3%
3.1GiB
859.22ms
3.26s
44
flask
Python
gunicorn
16,384
6,493
1.50GB/s
✓
2xx: 32,595
3xx: 0
4xx: 0
5xx: 0
6974.7%
3.4GiB
343.93ms
1.15s
45
drogon
C++
drogon
16,384
4,173
766.42MB/s
✓
2xx: 20,867
3xx: 0
4xx: 0
5xx: 0
11516.7%
544.3MiB
508.97ms
4.10s
46
ktor
Kotlin
Netty
16,384
3,993
689.23MB/s
✓
2xx: 19,966
3xx: 0
4xx: 0
5xx: 0
12433.7%
7.0GiB
1.90s
3.85s
47
spring-jvm-jetty
Java
Jetty
16,384
3,759
653.33MB/s
✓
2xx: 18,795
3xx: 0
4xx: 0
5xx: 0
10912.2%
1017.0MiB
151.67ms
2.51s
48
phoenix
Elixir
BEAM
16,384
3,413
762.35MB/s
✓
2xx: 17,065
3xx: 0
4xx: 0
5xx: 0
11489.6%
4.9GiB
1.20s
3.56s
Results
Baseline
Short-lived Con.
JSON Processing
Upload (20 MB)
Compression
Noisy
Mixed Workload
Pipelined (16)
Async DB
Valid baseline requests interleaved with malformed noise — nonexistent paths, bad content-length, and raw binary. Only 2xx responses count. Measures resilience: how well a framework maintains throughput while rejecting garbage traffic.
Type
All
Framework
Engine
Conn
Best
512
4096
16384
Click a row to expand details
#
Framework
Lang
Engine
Conn
TCP Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
#
Framework
Lang
Engine
Conn
TCP Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
1
ringzero
C
io_uring
512
0
2,267,446
198.36MB/s
1,425,926
2xx: 11,337,234
3xx: 0
4xx: 1,425,926
5xx: 0
5327.1%
4.1GiB
75us
175us
2
h2o
C
h2o
512
197
2,068,434
230.19MB/s
1,036,483
2xx: 10,342,173
3xx: 0
4xx: 1,036,483
5xx: 0
5811.2%
60.1MiB
119us
598us
3
nginx
C
nginx
512
0
1,876,557
316.88MB/s
1,120,685
2xx: 9,382,787
3xx: 0
4xx: 1,120,685
5xx: 0
5990.6%
3.5GiB
138us
747us
4
hyper
Rust
hyper
512
0
1,860,089
229.08MB/s
1,267,046
2xx: 9,300,446
3xx: 0
4xx: 1,267,046
5xx: 0
5975.9%
46.1MiB
126us
614us
5
ntex-iouring
Rust
io_uring
512
0
1,769,555
215.70MB/s
1,171,259
2xx: 8,847,777
3xx: 0
4xx: 1,171,259
5xx: 0
7180.1%
126.6MiB
142us
667us
6
actix
Rust
actix
512
40
1,769,470
241.06MB/s
1,067,317
2xx: 8,847,350
3xx: 0
4xx: 1,067,317
5xx: 0
6428.1%
125.3MiB
139us
667us
7
ntex-tokio
Rust
Tokio
512
0
1,728,501
208.42MB/s
998,499
2xx: 8,642,505
3xx: 0
4xx: 998,499
5xx: 0
6455.1%
89.6MiB
146us
649us
8
vertx
Java
Netty
512
0
1,543,277
107.92MB/s
1,259,238
2xx: 7,716,388
3xx: 0
4xx: 1,259,238
5xx: 0
6499.0%
4.8GiB
158us
772us
9
kemal
Crystal
Kemal
512
0
1,512,128
1.08GB/s
176,698
2xx: 7,560,640
3xx: 0
4xx: 176,698
5xx: 0
6827.1%
2.6GiB
178us
1.02ms
10
drogon
C++
drogon
512
0
1,499,431
364.37MB/s
1,272,799
2xx: 7,497,155
3xx: 0
4xx: 1,272,799
5xx: 0
6778.3%
69.9MiB
167us
843us
11
bun
TS
JSC
512
0
1,456,034
142.75MB/s
✓
2xx: 7,280,170
3xx: 0
4xx: 0
5xx: 0
7494.8%
2.2GiB
211us
1.34ms
12
blitz
Zig
io_uring
512
0
1,392,704
173.77MB/s
3,974,844
2xx: 6,963,520
3xx: 0
4xx: 3,974,844
5xx: 0
5878.6%
4.2GiB
82us
296us
13
h2o-mruby
Ruby
h2o
512
263
1,365,945
242.91MB/s
1,256,784
2xx: 6,829,729
3xx: 0
4xx: 1,256,784
5xx: 0
6964.9%
246.6MiB
193us
989us
14
quarkus-jvm
Java
Netty
512
0
1,335,688
161.80MB/s
1,252,340
2xx: 6,678,443
3xx: 0
4xx: 1,252,340
5xx: 0
6869.3%
10.3GiB
181us
868us
15
FastPySGI-WSGI
Python
libuv
512
0
1,275,971
236.61MB/s
1,051,303
2xx: 6,379,856
3xx: 0
4xx: 1,051,303
5xx: 0
7428.9%
426.8MiB
202us
1.06ms
16
nginx-openresty
Lua
openresty
512
0
1,266,671
269.72MB/s
1,223,984
2xx: 6,333,356
3xx: 0
4xx: 1,223,984
5xx: 0
7652.3%
3.9GiB
211us
1.14ms
17
go-fasthttp
Go
fasthttp
512
102
1,220,870
144.08MB/s
99
2xx: 6,104,351
3xx: 0
4xx: 99
5xx: 0
7064.7%
77.9MiB
299us
1.12ms
18
node
JS
V8
512
48
1,191,279
181.49MB/s
46
2xx: 5,956,397
3xx: 0
4xx: 46
5xx: 0
8333.2%
2.2GiB
284us
1.74ms
19
deno
TS
V8
512
36
1,187,664
158.28MB/s
33
2xx: 5,938,323
3xx: 0
4xx: 33
5xx: 0
6422.8%
4.0GiB
308us
3.50ms
20
aspnet-minimal
C#
Kestrel
512
0
1,181,640
189.73MB/s
1,472,038
2xx: 5,908,200
3xx: 0
4xx: 1,472,038
5xx: 0
6180.9%
193.9MiB
231us
1.54ms
21
ultimate-express
JS
uWebSockets
512
0
1,107,515
304.22MB/s
1,288,824
2xx: 5,537,576
3xx: 0
4xx: 1,288,824
5xx: 0
7692.7%
4.9GiB
247us
1.32ms
22
GenHTTP
C#
GenHTTP
512
0
1,036,586
194.29MB/s
1,335,982
2xx: 5,182,930
3xx: 0
4xx: 1,335,982
5xx: 0
6037.7%
325.8MiB
274us
2.03ms
23
Fastify
JS
V8
512
22
790,022
185.96MB/s
1,137,481
2xx: 3,950,112
3xx: 0
4xx: 1,137,481
5xx: 0
9027.9%
10.6GiB
360us
2.89ms
24
salvo
Rust
Salvo
512
0
750,065
374.99MB/s
1,161,161
2xx: 3,750,328
3xx: 0
4xx: 1,161,161
5xx: 0
3592.7%
92.3MiB
403us
1.04ms
25
ulfius
C
libmicrohttpd
512
74
688,386
87.38MB/s
1,025,941
2xx: 3,441,933
3xx: 0
4xx: 1,025,941
5xx: 0
8980.6%
80.8MiB
427us
1.71ms
26
Koa
JS
V8
512
55
663,633
148.42MB/s
1,049,191
2xx: 3,318,169
3xx: 0
4xx: 1,049,191
5xx: 0
9380.9%
5.0GiB
442us
2.92ms
27
FastPySGI-ASGI
Python
libuv
512
8
651,755
142.15MB/s
1,161,320
2xx: 3,258,777
3xx: 0
4xx: 1,161,320
5xx: 0
9310.6%
1.0GiB
415us
1.95ms
28
hono (node)
JS
Node
512
53
608,118
139.17MB/s
1,006,437
2xx: 3,046,673
3xx: 0
4xx: 1,006,437
5xx: 0
9394.6%
9.0GiB
477us
3.45ms
29
caddy
Go
caddy
512
42
581,576
61.71MB/s
42
2xx: 2,907,883
3xx: 0
4xx: 42
5xx: 0
5645.6%
747.0MiB
671us
8.93ms
30
Starlette
Python
uvicorn
512
69
461,991
73.29MB/s
192,277
2xx: 2,309,955
3xx: 0
4xx: 192,277
5xx: 0
10454.6%
5.0GiB
811us
5.09ms
31
prologue
Nim
asynchserver
512
0
440,133
382.28MB/s
18,805,427
2xx: 2,200,666
3xx: 0
4xx: 18,805,427
5xx: 0
9089.5%
39.6GiB
23.17ms
160.10ms
32
FastAPI
Python
uvicorn
512
107
342,861
66.13MB/s
559,987
2xx: 1,714,305
3xx: 0
4xx: 559,987
5xx: 0
10449.7%
8.5GiB
885us
5.60ms
33
hummingbird
Swift
Hummingbird
512
49
312,520
48.00MB/s
562,975
2xx: 1,562,604
3xx: 0
4xx: 562,975
5xx: 0
9889.8%
82.3MiB
875us
4.79ms
34
Express
JS
V8
512
53
266,005
95.79MB/s
402,886
2xx: 1,330,028
3xx: 0
4xx: 402,886
5xx: 0
10718.9%
11.0GiB
1.18ms
6.59ms
35
gin
Go
gin
512
26
262,455
43.42MB/s
439,462
2xx: 1,312,275
3xx: 0
4xx: 439,462
5xx: 0
5071.9%
109.1MiB
1.16ms
11.10ms
36
gleam-mist
Gleam
BEAM
512
92
261,537
47.79MB/s
432,544
2xx: 1,307,689
3xx: 0
4xx: 432,544
5xx: 0
7477.4%
881.3MiB
1.17ms
1.86ms
37
ktor
Kotlin
Netty
512
20
247,138
38.38MB/s
397,364
2xx: 1,235,691
3xx: 0
4xx: 397,364
5xx: 0
10103.3%
2.6GiB
1.25ms
5.18ms
38
echo
Go
echo
512
1
209,610
35.39MB/s
340,083
2xx: 1,048,051
3xx: 0
4xx: 340,083
5xx: 0
4747.0%
104.9MiB
1.47ms
11.60ms
39
chi
Go
chi
512
35
204,514
37.10MB/s
344,311
2xx: 1,022,572
3xx: 0
4xx: 344,311
5xx: 0
4575.0%
104.5MiB
1.49ms
12.50ms
40
phoenix
Elixir
BEAM
512
1,004
101,880
34.69MB/s
408,447
2xx: 509,401
3xx: 0
4xx: 408,447
5xx: 0
5334.8%
400.6MiB
1.23ms
2.11ms
41
Sinatra
Ruby
puma
512
922
100,745
18.66MB/s
408,294
2xx: 503,726
3xx: 0
4xx: 408,294
5xx: 0
5930.2%
12.6GiB
1.10ms
6.42ms
42
Rails
Ruby
puma
512
893
98,849
30.15MB/s
403,474
2xx: 494,245
3xx: 0
4xx: 403,474
5xx: 0
8036.9%
13.9GiB
1.59ms
7.16ms
43
spring-jvm-jetty
Java
Jetty
512
76
68,519
12.05MB/s
26,430
2xx: 342,599
3xx: 0
4xx: 26,430
5xx: 0
3223.9%
2.1GiB
3.19ms
13.00ms
44
rocket
Rust
rocket
512
33
66,665
20.27MB/s
110,536
2xx: 333,326
3xx: 0
4xx: 110,536
5xx: 0
1084.7%
64.0MiB
4.63ms
10.80ms
45
spring-jvm
Java
Tomcat
512
679
10,035
3.05MB/s
26,306
2xx: 50,177
3xx: 0
4xx: 26,306
5xx: 0
1982.5%
1.8GiB
12.48ms
45.10ms
46
Django
Python
gunicorn
512
196
25
8.73KB/s
68
2xx: 128
3xx: 0
4xx: 68
5xx: 0
270.2%
7.0GiB
2.19s
5.00s
47
flask
Python
gunicorn
512
183
23
7.85KB/s
64
2xx: 119
3xx: 0
4xx: 64
5xx: 0
276.2%
3.3GiB
2.29s
4.92s
#
Framework
Lang
Engine
Conn
TCP Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
1
ringzero
C
io_uring
4,096
0
2,887,389
259.59MB/s
2,402,116
2xx: 14,436,945
3xx: 0
4xx: 2,402,116
5xx: 0
6306.5%
4.2GiB
572us
1.25ms
2
h2o
C
h2o
4,096
1,622
2,789,999
316.02MB/s
1,610,446
2xx: 13,949,997
3xx: 0
4xx: 1,610,446
5xx: 0
6623.4%
92.8MiB
655us
5.03ms
3
nginx
C
nginx
4,096
1,236
2,654,312
410.38MB/s
1,714,542
2xx: 13,271,560
3xx: 0
4xx: 1,714,542
5xx: 0
6636.1%
3.5GiB
692us
5.36ms
4
hyper
Rust
hyper
4,096
819
2,650,695
321.83MB/s
1,512,110
2xx: 13,253,475
3xx: 0
4xx: 1,512,110
5xx: 0
7000.9%
118.2MiB
729us
6.06ms
5
ntex-iouring
Rust
io_uring
4,096
928
2,528,640
310.85MB/s
1,848,635
2xx: 12,643,200
3xx: 0
4xx: 1,848,635
5xx: 0
6955.1%
206.2MiB
773us
6.71ms
6
ntex-tokio
Rust
Tokio
4,096
873
2,449,406
299.27MB/s
1,671,211
2xx: 12,247,030
3xx: 0
4xx: 1,671,211
5xx: 0
7193.9%
147.5MiB
789us
6.43ms
7
actix
Rust
actix
4,096
1,162
2,426,089
334.41MB/s
1,689,853
2xx: 12,154,710
3xx: 0
4xx: 1,689,853
5xx: 0
6861.4%
184.2MiB
822us
6.91ms
8
vertx
Java
Netty
4,096
955
2,128,036
148.04MB/s
1,633,983
2xx: 10,661,464
3xx: 0
4xx: 1,633,983
5xx: 0
7392.4%
8.8GiB
944us
6.48ms
9
blitz
Zig
io_uring
4,096
0
2,031,571
222.50MB/s
4,000,774
2xx: 10,157,855
3xx: 0
4xx: 4,000,774
5xx: 0
6839.9%
4.4GiB
371us
3.48ms
10
drogon
C++
drogon
4,096
1,067
1,965,305
489.10MB/s
1,753,748
2xx: 9,826,529
3xx: 0
4xx: 1,753,748
5xx: 0
7549.8%
117.2MiB
1.03ms
6.55ms
11
bun
TS
JSC
4,096
500
1,939,652
190.42MB/s
495
2xx: 9,717,658
3xx: 0
4xx: 495
5xx: 0
8309.7%
2.3GiB
1.25ms
10.50ms
12
nginx-openresty
Lua
openresty
4,096
1,205
1,910,192
419.31MB/s
2,057,577
2xx: 9,570,062
3xx: 0
4xx: 2,057,577
5xx: 0
7565.5%
4.0GiB
1.00ms
6.52ms
13
deno
TS
V8
4,096
1,017
1,810,957
241.24MB/s
1,017
2xx: 9,054,787
3xx: 0
4xx: 1,017
5xx: 0
7241.9%
4.5GiB
1.52ms
19.90ms
14
quarkus-jvm
Java
Netty
4,096
916
1,773,902
223.11MB/s
1,975,331
2xx: 8,869,510
3xx: 0
4xx: 1,975,331
5xx: 0
7843.2%
10.4GiB
1.15ms
7.54ms
15
kemal
Crystal
Kemal
4,096
1,192
1,604,069
5.30GB/s
1,056,297
2xx: 8,020,347
3xx: 0
4xx: 1,056,297
5xx: 0
7709.3%
3.3GiB
1.15ms
10.80ms
16
FastPySGI-WSGI
Python
libuv
4,096
987
1,559,156
311.83MB/s
1,951,382
2xx: 7,795,781
3xx: 0
4xx: 1,951,382
5xx: 0
8327.8%
1006.0MiB
1.38ms
9.23ms
17
go-fasthttp
Go
fasthttp
4,096
615
1,455,201
171.71MB/s
613
2xx: 7,276,006
3xx: 0
4xx: 613
5xx: 0
6575.7%
221.1MiB
2.15ms
5.67ms
18
node
JS
V8
4,096
782
1,337,782
203.66MB/s
773
2xx: 6,688,913
3xx: 0
4xx: 773
5xx: 0
8785.4%
2.4GiB
1.84ms
8.14ms
19
ultimate-express
JS
uWebSockets
4,096
1,226
1,325,997
398.66MB/s
1,977,549
2xx: 6,643,245
3xx: 0
4xx: 1,976,323
5xx: 1,226
8398.3%
5.0GiB
1.60ms
9.15ms
20
h2o-mruby
Ruby
h2o
4,096
290
1,321,277
256.76MB/s
1,953,422
2xx: 6,606,386
3xx: 0
4xx: 1,953,422
5xx: 0
7132.8%
243.5MiB
312us
1.87ms
21
aspnet-minimal
C#
Kestrel
4,096
696
1,281,016
210.46MB/s
1,833,883
2xx: 6,405,080
3xx: 0
4xx: 1,833,883
5xx: 0
6666.0%
394.7MiB
1.47ms
7.68ms
22
GenHTTP
C#
GenHTTP
4,096
704
1,186,558
234.97MB/s
1,805,029
2xx: 5,932,791
3xx: 0
4xx: 1,805,029
5xx: 0
7082.6%
1.2GiB
1.87ms
10.70ms
23
FastPySGI-ASGI
Python
libuv
4,096
1,963
935,539
206.42MB/s
1,736,769
2xx: 4,677,698
3xx: 0
4xx: 1,736,769
5xx: 0
9018.4%
1.5GiB
2.22ms
8.37ms
24
salvo
Rust
Salvo
4,096
719
907,626
470.85MB/s
1,485,593
2xx: 4,538,131
3xx: 0
4xx: 1,485,593
5xx: 0
5449.7%
304.5MiB
2.64ms
6.39ms
25
Fastify
JS
V8
4,096
809
793,325
195.43MB/s
1,309,267
2xx: 3,966,628
3xx: 0
4xx: 1,309,267
5xx: 0
9050.2%
11.6GiB
2.51ms
10.70ms
26
ulfius
C
libmicrohttpd
4,096
125,027
729,542
96.93MB/s
1,315,195
2xx: 3,647,712
3xx: 0
4xx: 1,315,195
5xx: 0
8388.1%
127.1MiB
503us
2.10ms
27
Koa
JS
V8
4,096
832
686,534
155.16MB/s
1,134,959
2xx: 3,432,672
3xx: 0
4xx: 1,134,959
5xx: 0
9265.9%
5.3GiB
2.86ms
9.74ms
28
caddy
Go
caddy
4,096
837
640,734
67.77MB/s
837
2xx: 3,203,671
3xx: 0
4xx: 837
5xx: 0
6450.0%
954.5MiB
5.07ms
45.00ms
29
hono (node)
JS
Node
4,096
823
593,369
137.24MB/s
1,026,296
2xx: 2,966,848
3xx: 0
4xx: 1,026,296
5xx: 0
9585.3%
9.9GiB
3.09ms
12.20ms
30
Starlette
Python
uvicorn
4,096
881
536,958
84.22MB/s
189,986
2xx: 2,684,791
3xx: 0
4xx: 189,986
5xx: 0
10501.2%
4.9GiB
5.48ms
33.80ms
31
gleam-mist
Gleam
BEAM
4,096
819
500,666
91.71MB/s
837,900
2xx: 2,503,333
3xx: 0
4xx: 837,900
5xx: 0
8431.4%
2.3GiB
4.02ms
14.30ms
32
gin
Go
gin
4,096
839
366,017
61.09MB/s
635,205
2xx: 1,830,086
3xx: 0
4xx: 635,205
5xx: 0
6556.4%
331.2MiB
6.55ms
51.40ms
33
echo
Go
echo
4,096
849
365,154
62.24MB/s
614,504
2xx: 1,825,770
3xx: 0
4xx: 614,504
5xx: 0
6692.9%
330.5MiB
6.60ms
60.80ms
34
chi
Go
chi
4,096
852
360,757
65.85MB/s
620,198
2xx: 1,803,787
3xx: 0
4xx: 620,198
5xx: 0
6873.1%
282.1MiB
6.69ms
69.40ms
35
FastAPI
Python
uvicorn
4,096
904
347,329
66.62MB/s
554,410
2xx: 1,736,647
3xx: 0
4xx: 554,410
5xx: 0
10112.0%
8.6GiB
6.54ms
28.50ms
36
hummingbird
Swift
Hummingbird
4,096
595
323,815
49.81MB/s
587,200
2xx: 1,619,077
3xx: 0
4xx: 587,200
5xx: 0
9543.0%
136.5MiB
3.90ms
10.60ms
37
Sinatra
Ruby
puma
4,096
1,228
302,045
40.06MB/s
530,725
2xx: 1,510,229
3xx: 0
4xx: 530,725
5xx: 0
9598.8%
14.3GiB
7.89ms
28.40ms
38
Express
JS
V8
4,096
796
259,432
96.34MB/s
428,957
2xx: 1,297,163
3xx: 0
4xx: 428,957
5xx: 0
10662.4%
11.7GiB
8.00ms
24.30ms
39
prologue
Nim
asynchserver
4,096
0
250,418
483.58MB/s
33,105,740
2xx: 1,252,093
3xx: 0
4xx: 33,105,740
5xx: 0
9933.2%
14.8GiB
38.73ms
364.20ms
40
ktor
Kotlin
Netty
4,096
770
229,869
36.02MB/s
387,016
2xx: 1,149,345
3xx: 0
4xx: 387,016
5xx: 0
11291.3%
5.2GiB
10.64ms
38.40ms
41
phoenix
Elixir
BEAM
4,096
836
167,598
40.05MB/s
285,297
2xx: 839,666
3xx: 0
4xx: 285,297
5xx: 0
8188.3%
780.7MiB
12.46ms
17.40ms
42
Rails
Ruby
puma
4,096
1,074
163,833
40.17MB/s
277,236
2xx: 819,166
3xx: 0
4xx: 277,236
5xx: 0
10406.0%
14.3GiB
14.84ms
36.90ms
43
rocket
Rust
rocket
4,096
840
64,760
20.36MB/s
122,023
2xx: 323,801
3xx: 0
4xx: 122,023
5xx: 0
1068.0%
242.2MiB
36.51ms
127.00ms
44
spring-jvm-jetty
Java
Jetty
4,096
90
36,700
7.19MB/s
26,338
2xx: 183,502
3xx: 0
4xx: 26,338
5xx: 0
3249.6%
1.7GiB
3.15ms
24.00ms
45
spring-jvm
Java
Tomcat
4,096
305
3,978
645.70KB/s
1,637
2xx: 19,893
3xx: 0
4xx: 1,637
5xx: 0
974.4%
742.4MiB
12.15ms
365.30ms
46
Django
Python
gunicorn
4,096
396
52
17.58KB/s
136
2xx: 260
3xx: 0
4xx: 136
5xx: 0
259.3%
7.8GiB
770.50ms
4.53s
47
flask
Python
gunicorn
4,096
202
26
8.59KB/s
69
2xx: 133
3xx: 0
4xx: 69
5xx: 0
0.1%
3.4GiB
2.33ms
4.93ms
#
Framework
Lang
Engine
Conn
TCP Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
1
ringzero
C
io_uring
16,384
0
2,655,392
249.71MB/s
3,088,080
2xx: 13,276,960
3xx: 0
4xx: 3,088,080
5xx: 0
6018.1%
4.3GiB
3.66ms
4.95ms
2
h2o
C
h2o
16,384
4,294
2,363,165
313.02MB/s
3,101,969
2xx: 11,815,829
3xx: 0
4xx: 3,101,969
5xx: 0
6212.4%
205.8MiB
3.63ms
17.00ms
3
hyper
Rust
hyper
16,384
3,276
2,300,566
302.59MB/s
2,804,806
2xx: 11,502,831
3xx: 0
4xx: 2,804,806
5xx: 0
6420.6%
421.9MiB
3.83ms
17.70ms
4
nginx
C
nginx
16,384
4,479
2,285,479
404.20MB/s
3,200,879
2xx: 11,564,525
3xx: 0
4xx: 3,200,879
5xx: 0
6260.9%
3.6GiB
3.68ms
16.80ms
5
ntex-iouring
Rust
io_uring
16,384
3,985
2,214,703
295.33MB/s
3,073,383
2xx: 11,095,667
3xx: 0
4xx: 3,073,383
5xx: 0
6565.9%
426.3MiB
3.48ms
16.30ms
6
ntex-tokio
Rust
Tokio
16,384
4,109
2,173,964
290.76MB/s
3,091,784
2xx: 10,869,822
3xx: 0
4xx: 3,091,784
5xx: 0
7001.1%
346.2MiB
3.56ms
19.30ms
7
actix
Rust
actix
16,384
4,100
2,163,763
317.26MB/s
2,723,548
2xx: 10,840,456
3xx: 0
4xx: 2,723,548
5xx: 0
6578.7%
534.5MiB
3.75ms
18.60ms
8
bun
TS
JSC
16,384
4,339
1,944,471
190.52MB/s
4,339
2xx: 9,800,135
3xx: 0
4xx: 4,339
5xx: 0
8333.8%
2.3GiB
5.91ms
44.30ms
9
vertx
Java
Netty
16,384
3,809
1,862,490
139.34MB/s
2,581,230
2xx: 9,312,450
3xx: 0
4xx: 2,581,230
5xx: 0
7115.0%
9.1GiB
4.17ms
22.60ms
10
nginx-openresty
Lua
openresty
16,384
4,471
1,785,499
430.43MB/s
2,598,273
2xx: 8,927,496
3xx: 0
4xx: 2,598,273
5xx: 0
7757.2%
4.1GiB
4.89ms
24.20ms
11
drogon
C++
drogon
16,384
4,438
1,684,772
558.83MB/s
2,534,547
2xx: 8,423,863
3xx: 0
4xx: 2,534,547
5xx: 0
8127.5%
298.8MiB
5.19ms
26.30ms
12
blitz
Zig
io_uring
16,384
0
1,616,295
235.80MB/s
6,721,353
2xx: 8,081,477
3xx: 0
4xx: 6,721,353
5xx: 0
6526.8%
4.5GiB
2.23ms
10.50ms
13
quarkus-jvm
Java
Netty
16,384
3,815
1,598,362
221.40MB/s
2,544,805
2xx: 8,007,798
3xx: 0
4xx: 2,544,805
5xx: 0
7498.7%
10.7GiB
4.82ms
25.90ms
14
deno
TS
V8
16,384
3,868
1,482,316
197.84MB/s
3,868
2xx: 7,426,406
3xx: 0
4xx: 3,868
5xx: 0
7349.2%
4.8GiB
6.97ms
56.10ms
15
FastPySGI-WSGI
Python
libuv
16,384
4,073
1,471,973
307.13MB/s
2,276,364
2xx: 7,551,225
3xx: 0
4xx: 2,276,364
5xx: 0
8028.5%
3.0GiB
6.04ms
33.60ms
16
go-fasthttp
Go
fasthttp
16,384
1,482
1,349,042
159.17MB/s
1,577
2xx: 6,745,211
3xx: 0
4xx: 1,577
5xx: 0
6244.2%
284.6MiB
4.35ms
7.90ms
17
ultimate-express
JS
uWebSockets
16,384
4,165
1,289,197
389.88MB/s
1,955,937
2xx: 6,445,987
3xx: 0
4xx: 1,951,772
5xx: 4,165
8007.4%
5.1GiB
6.99ms
45.70ms
18
h2o-mruby
Ruby
h2o
16,384
268
1,279,625
246.18MB/s
1,808,291
2xx: 6,398,126
3xx: 0
4xx: 1,808,291
5xx: 0
6695.7%
240.9MiB
278us
1.84ms
19
node
JS
V8
16,384
2,736
1,251,087
190.56MB/s
2,697
2xx: 6,255,439
3xx: 0
4xx: 2,697
5xx: 0
8224.0%
3.1GiB
6.49ms
30.10ms
20
aspnet-minimal
C#
Kestrel
16,384
2,451
1,091,915
183.24MB/s
1,752,209
2xx: 5,459,577
3xx: 0
4xx: 1,752,209
5xx: 0
7182.7%
741.0MiB
4.86ms
21.10ms
21
kemal
Crystal
Kemal
16,384
4,165
990,324
6.83GB/s
1,399,808
2xx: 4,951,620
3xx: 0
4xx: 1,399,808
5xx: 0
7468.1%
4.1GiB
8.44ms
51.80ms
22
GenHTTP
C#
GenHTTP
16,384
3,740
986,906
199.32MB/s
1,589,620
2xx: 4,934,530
3xx: 0
4xx: 1,589,620
5xx: 0
7515.1%
3.3GiB
8.65ms
29.40ms
23
salvo
Rust
Salvo
16,384
3,461
739,446
396.72MB/s
1,274,285
2xx: 3,697,232
3xx: 0
4xx: 1,274,285
5xx: 0
4193.3%
978.8MiB
11.53ms
15.70ms
24
ulfius
C
libmicrohttpd
16,384
146,563
729,892
91.49MB/s
1,028,932
2xx: 3,656,760
3xx: 0
4xx: 1,028,932
5xx: 0
4964.7%
121.7MiB
522us
4.45ms
25
Fastify
JS
V8
16,384
3,156
678,766
169.82MB/s
1,172,148
2xx: 3,393,832
3xx: 0
4xx: 1,172,148
5xx: 0
8094.1%
12.2GiB
10.38ms
35.90ms
26
caddy
Go
caddy
16,384
3,470
653,635
69.03MB/s
3,470
2xx: 3,268,177
3xx: 0
4xx: 3,470
5xx: 0
6903.3%
2.0GiB
17.08ms
109.70ms
27
Koa
JS
V8
16,384
3,284
603,086
138.32MB/s
1,056,745
2xx: 3,015,430
3xx: 0
4xx: 1,056,745
5xx: 0
8211.3%
5.5GiB
12.18ms
39.20ms
28
gleam-mist
Gleam
BEAM
16,384
1,832
533,510
97.91MB/s
899,292
2xx: 2,667,550
3xx: 0
4xx: 899,292
5xx: 0
8527.5%
3.7GiB
8.46ms
31.40ms
29
hono (node)
JS
Node
16,384
3,155
495,806
114.72MB/s
860,648
2xx: 2,479,030
3xx: 0
4xx: 860,648
5xx: 0
8265.3%
10.7GiB
14.26ms
47.70ms
30
gin
Go
gin
16,384
3,563
429,185
72.68MB/s
788,890
2xx: 2,145,927
3xx: 0
4xx: 788,890
5xx: 0
7547.3%
900.6MiB
18.66ms
158.60ms
31
Starlette
Python
uvicorn
16,384
3,124
422,983
66.27MB/s
145,689
2xx: 2,114,916
3xx: 0
4xx: 145,689
5xx: 0
5730.6%
974.4MiB
22.55ms
121.10ms
32
echo
Go
echo
16,384
3,462
414,002
73.16MB/s
795,779
2xx: 2,070,012
3xx: 0
4xx: 795,779
5xx: 0
6946.7%
869.5MiB
18.78ms
225.20ms
33
chi
Go
chi
16,384
3,497
406,766
75.78MB/s
746,132
2xx: 2,033,830
3xx: 0
4xx: 746,132
5xx: 0
6966.0%
847.6MiB
19.91ms
253.50ms
34
hummingbird
Swift
Hummingbird
16,384
898
311,845
48.61MB/s
598,922
2xx: 1,559,227
3xx: 0
4xx: 598,922
5xx: 0
8634.3%
177.0MiB
5.80ms
14.40ms
35
FastAPI
Python
uvicorn
16,384
3,279
288,337
56.59MB/s
503,433
2xx: 1,441,687
3xx: 0
4xx: 503,433
5xx: 0
6315.8%
3.6GiB
26.66ms
86.50ms
36
Sinatra
Ruby
puma
16,384
4,138
271,889
36.08MB/s
480,554
2xx: 1,359,449
3xx: 0
4xx: 480,554
5xx: 0
9441.9%
15.4GiB
31.59ms
87.30ms
37
Express
JS
V8
16,384
3,095
223,351
86.27MB/s
411,412
2xx: 1,116,759
3xx: 0
4xx: 411,412
5xx: 0
9269.5%
12.3GiB
32.17ms
81.80ms
38
ktor
Kotlin
Netty
16,384
3,506
221,760
35.00MB/s
383,584
2xx: 1,108,803
3xx: 0
4xx: 383,584
5xx: 0
11360.0%
5.4GiB
38.58ms
132.10ms
39
phoenix
Elixir
BEAM
16,384
2,052
158,492
38.23MB/s
279,601
2xx: 792,462
3xx: 0
4xx: 279,601
5xx: 0
7562.2%
1.5GiB
27.04ms
39.40ms
40
Rails
Ruby
puma
16,384
3,552
143,417
35.18MB/s
245,104
2xx: 717,087
3xx: 0
4xx: 245,104
5xx: 0
9348.9%
14.6GiB
58.63ms
123.70ms
41
prologue
Nim
asynchserver
16,384
0
124,494
301.84MB/s
23,028,920
2xx: 622,473
3xx: 0
4xx: 23,028,920
5xx: 0
8860.1%
7.6GiB
49.40ms
220.70ms
42
rocket
Rust
rocket
16,384
2,608
62,199
19.83MB/s
124,278
2xx: 310,995
3xx: 0
4xx: 124,278
5xx: 0
1044.2%
557.8MiB
98.17ms
940.60ms
43
FastPySGI-ASGI
Python
libuv
16,384
73,178
52,296
13.81MB/s
165,216
2xx: 261,484
3xx: 0
4xx: 165,216
5xx: 0
887.7%
712.5MiB
20.11ms
114.10ms
44
spring-jvm-jetty
Java
Jetty
16,384
166
30,177
6.11MB/s
24,751
2xx: 150,886
3xx: 0
4xx: 24,751
5xx: 0
2123.9%
1.9GiB
2.80ms
9.77ms
45
spring-jvm
Java
Tomcat
16,384
245
3,690
612.52KB/s
1,713
2xx: 18,454
3xx: 0
4xx: 1,713
5xx: 0
1020.8%
948.7MiB
21.59ms
598.50ms
46
Django
Python
gunicorn
16,384
380
50
16.69KB/s
126
2xx: 254
3xx: 0
4xx: 126
5xx: 0
65.6%
8.4GiB
405.94ms
1.34s
47
flask
Python
gunicorn
16,384
202
26
8.68KB/s
71
2xx: 131
3xx: 0
4xx: 71
5xx: 0
0.1%
3.4GiB
2.02ms
4.71ms
Results
Baseline
Short-lived Con.
JSON Processing
Upload (20 MB)
Compression
Noisy
Mixed Workload
Pipelined (16)
Async DB
A realistic mix of request types: 3 baseline GETs, 2 baseline POSTs, 1 JSON processing, 1 SQLite DB lookup, 1 file upload (1 MB), and 2 compression requests. Connections limited to 100 requests each. Measures overall framework performance under a diverse, real-world-like workload that exercises multiple code paths simultaneously.
Type
All
Framework
Engine
Conn
4096
16384
Click a row to expand details
#
Framework
Lang
Engine
Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
#
Framework
Lang
Engine
Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
1
bun
TS
JSC
4,096
52,274
1.93GB/s
✓
2xx: 784,638
3xx: 0
4xx: 0
5xx: 0
10653.1%
6.1GiB
72.41ms
332.10ms
2
ultimate-express
JS
uWebSockets
4,096
51,537
1.93GB/s
✓
2xx: 773,058
3xx: 0
4xx: 0
5xx: 0
11386.9%
10.0GiB
72.67ms
368.50ms
3
Elysia
TS
Bun
4,096
51,251
1.89GB/s
✓
2xx: 768,769
3xx: 0
4xx: 0
5xx: 0
10559.5%
9.4GiB
74.10ms
338.30ms
4
go-fasthttp
Go
fasthttp
4,096
49,427
1.78GB/s
✓
2xx: 741,911
3xx: 0
4xx: 0
5xx: 0
10302.9%
80.7GiB
71.02ms
718.70ms
5
Hono (Bun)
TS
JSC
4,096
49,378
1.83GB/s
✓
2xx: 740,676
3xx: 0
4xx: 0
5xx: 0
10569.0%
7.1GiB
76.88ms
355.70ms
6
node
JS
V8
4,096
47,714
1.79GB/s
✓
2xx: 715,722
3xx: 0
4xx: 0
5xx: 0
10816.5%
8.6GiB
36.60ms
146.80ms
7
nginx
C
nginx
4,096
47,277
1.87GB/s
✓
2xx: 709,165
3xx: 0
4xx: 0
5xx: 0
11321.9%
4.5GiB
77.24ms
329.00ms
8
Koa
JS
V8
4,096
45,268
1.70GB/s
✓
2xx: 679,022
3xx: 0
4xx: 0
5xx: 0
10916.5%
9.7GiB
30.05ms
263.70ms
9
salvo
Rust
Salvo
4,096
45,234
1.90GB/s
✓
2xx: 678,521
3xx: 0
4xx: 0
5xx: 0
9665.4%
1.5GiB
86.05ms
415.90ms
10
FastPySGI-WSGI
Python
libuv
4,096
44,164
1.76GB/s
✓
2xx: 662,468
3xx: 0
4xx: 0
5xx: 0
11635.7%
1.2GiB
88.08ms
783.70ms
11
FastPySGI-ASGI
Python
libuv
4,096
43,259
1.72GB/s
✓
2xx: 649,322
3xx: 0
4xx: 0
5xx: 0
11465.0%
2.5GiB
87.98ms
609.00ms
12
rocket
Rust
rocket
4,096
40,604
1.71GB/s
✓
2xx: 609,068
3xx: 0
4xx: 0
5xx: 0
6386.6%
335.8MiB
97.11ms
541.70ms
13
kemal
Crystal
Kemal
4,096
40,317
1.62GB/s
✓
2xx: 604,768
3xx: 0
4xx: 0
5xx: 0
11265.4%
26.3GiB
86.83ms
320.30ms
14
Fastify
JS
V8
4,096
39,844
1.50GB/s
✓
2xx: 597,660
3xx: 0
4xx: 0
5xx: 0
11013.6%
10.2GiB
25.69ms
161.00ms
15
h2o
C
h2o
4,096
39,118
1.80GB/s
✓
2xx: 586,783
3xx: 0
4xx: 0
5xx: 0
11634.4%
2.9GiB
96.00ms
545.50ms
16
vertx
Java
Netty
4,096
38,677
1.53GB/s
✓
2xx: 580,556
3xx: 0
4xx: 0
5xx: 0
11125.8%
13.8GiB
96.03ms
474.30ms
17
actix
Rust
actix
4,096
38,230
1.59GB/s
✓
2xx: 573,844
3xx: 0
4xx: 0
5xx: 0
10320.9%
5.2GiB
100.40ms
1.13s
18
Starlette
Python
uvicorn
4,096
37,632
1.48GB/s
✓
2xx: 564,490
3xx: 0
4xx: 0
5xx: 0
11769.1%
8.8GiB
99.87ms
505.00ms
19
Express
JS
V8
4,096
37,033
1.39GB/s
✓
2xx: 555,497
3xx: 0
4xx: 0
5xx: 0
11090.1%
9.8GiB
29.88ms
241.30ms
20
FastAPI
Python
uvicorn
4,096
36,417
1.43GB/s
✓
2xx: 546,268
3xx: 0
4xx: 0
5xx: 0
11755.1%
11.4GiB
102.70ms
527.10ms
21
quarkus-jvm
Java
Netty
4,096
35,840
1.33GB/s
✓
2xx: 537,962
3xx: 0
4xx: 0
5xx: 0
10512.1%
13.7GiB
103.11ms
970.80ms
22
hono (node)
JS
Node
4,096
34,650
1.30GB/s
✓
2xx: 519,752
3xx: 0
4xx: 0
5xx: 0
11133.0%
10.8GiB
29.42ms
264.30ms
23
deno
TS
V8
4,096
34,442
1.69GB/s
✓
2xx: 516,641
3xx: 0
4xx: 0
5xx: 0
9418.1%
14.4GiB
105.23ms
447.80ms
24
h2o-mruby
Ruby
h2o
4,096
33,335
1.67GB/s
60,566
2xx: 500,031
3xx: 0
4xx: 60,566
5xx: 0
11471.1%
3.5GiB
97.91ms
462.90ms
25
fiber
Go
fiber
4,096
31,814
1.23GB/s
✓
2xx: 477,210
3xx: 0
4xx: 0
5xx: 0
9257.4%
4.1GiB
116.35ms
1.02s
26
flask
Python
gunicorn
4,096
30,596
1.50GB/s
✓
2xx: 458,950
3xx: 0
4xx: 0
5xx: 0
11698.7%
7.1GiB
78.78ms
134.70ms
27
caddy
Go
caddy
4,096
30,371
924.41MB/s
✓
2xx: 455,570
3xx: 0
4xx: 0
5xx: 0
8886.2%
9.5GiB
120.63ms
1.55s
28
Django
Python
gunicorn
4,096
30,105
1.45GB/s
✓
2xx: 451,587
3xx: 0
4xx: 0
5xx: 0
11506.8%
8.5GiB
80.06ms
218.00ms
29
ntex-tokio
Rust
Tokio
4,096
29,545
5.32GB/s
✓
2xx: 443,772
3xx: 0
4xx: 0
5xx: 0
8736.1%
2.1GiB
120.90ms
569.50ms
30
gleam-mist
Gleam
BEAM
4,096
28,774
1.15GB/s
✓
2xx: 431,614
3xx: 0
4xx: 0
5xx: 0
9672.5%
1.8GiB
46.17ms
357.20ms
31
Sinatra
Ruby
puma
4,096
26,634
1.05GB/s
✓
2xx: 399,512
3xx: 0
4xx: 0
5xx: 0
9929.9%
26.0GiB
139.59ms
765.40ms
32
prologue
Nim
asynchserver
4,096
25,528
942.29MB/s
✓
2xx: 383,178
3xx: 0
4xx: 0
5xx: 0
10921.2%
19.4GiB
148.72ms
2.21s
33
Rails
Ruby
puma
4,096
23,492
954.56MB/s
✓
2xx: 352,388
3xx: 0
4xx: 0
5xx: 0
10647.2%
30.9GiB
157.69ms
609.50ms
34
nginx-openresty
Lua
openresty
4,096
20,578
823.00MB/s
✓
2xx: 308,888
3xx: 0
4xx: 0
5xx: 0
11902.7%
4.9GiB
180.08ms
731.90ms
35
spring-jvm
Java
Tomcat
4,096
20,125
653.09MB/s
✓
2xx: 301,886
3xx: 0
4xx: 0
5xx: 0
12195.3%
2.3GiB
182.52ms
323.70ms
36
drogon
C++
drogon
4,096
18,898
589.22MB/s
✓
2xx: 283,477
3xx: 0
4xx: 0
5xx: 0
11888.8%
816.8MiB
198.86ms
3.27s
37
ktor
Kotlin
Netty
4,096
16,891
535.93MB/s
✓
2xx: 253,365
3xx: 0
4xx: 0
5xx: 0
11380.1%
8.0GiB
218.73ms
787.30ms
38
chi
Go
chi
4,096
14,658
498.40MB/s
✓
2xx: 219,874
3xx: 0
4xx: 0
5xx: 0
8147.0%
724.9MiB
205.06ms
3.49s
39
echo
Go
echo
4,096
14,639
490.65MB/s
✓
2xx: 219,588
3xx: 0
4xx: 0
5xx: 0
8214.1%
1010.0MiB
210.15ms
3.48s
40
blitz
Zig
io_uring
4,096
14,636
503.02MB/s
41
2xx: 219,550
3xx: 0
4xx: 41
5xx: 0
4807.3%
8.5GiB
97.59ms
540.50ms
41
hummingbird
Swift
Hummingbird
4,096
14,577
651.02MB/s
✓
2xx: 218,666
3xx: 0
4xx: 0
5xx: 0
10764.1%
928.5MiB
39.36ms
279.00ms
42
gin
Go
gin
4,096
14,553
493.49MB/s
✓
2xx: 218,300
3xx: 0
4xx: 0
5xx: 0
8121.6%
1.4GiB
212.86ms
3.38s
43
phoenix
Elixir
BEAM
4,096
9,147
243.65MB/s
✓
2xx: 137,209
3xx: 0
4xx: 0
5xx: 0
3694.7%
2.7GiB
365.32ms
3.47s
44
GenHTTP
C#
GenHTTP
4,096
7,874
404.09MB/s
✓
2xx: 118,120
3xx: 0
4xx: 0
5xx: 0
10378.4%
2.0GiB
358.02ms
4.55s
45
ulfius
C
libmicrohttpd
4,096
6,645
299.25MB/s
✓
2xx: 99,689
3xx: 0
4xx: 0
5xx: 0
1663.9%
571.9MiB
56.28ms
508.20ms
46
aspnet-minimal
C#
Kestrel
4,096
6,197
311.67MB/s
✓
2xx: 92,963
3xx: 0
4xx: 0
5xx: 0
8501.5%
1.9GiB
527.41ms
5.00s
47
spring-jvm-jetty
Java
Jetty
4,096
609
19.61MB/s
✓
2xx: 9,147
3xx: 0
4xx: 0
5xx: 0
610.0%
1.9GiB
33.19ms
476.40ms
#
Framework
Lang
Engine
Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
1
go-fasthttp
Go
fasthttp
16,384
54,255
1.69GB/s
✓
2xx: 814,925
3xx: 0
4xx: 0
5xx: 0
8764.2%
88.0GiB
229.98ms
3.17s
2
bun
TS
JSC
16,384
47,876
1.79GB/s
✓
2xx: 718,629
3xx: 0
4xx: 0
5xx: 0
9584.7%
10.8GiB
311.06ms
1.15s
3
Elysia
TS
Bun
16,384
46,884
1.74GB/s
✓
2xx: 703,733
3xx: 0
4xx: 0
5xx: 0
9617.5%
13.9GiB
317.00ms
1.16s
4
ultimate-express
JS
uWebSockets
16,384
46,703
1.75GB/s
✓
2xx: 701,026
3xx: 0
4xx: 0
5xx: 0
10178.5%
14.3GiB
318.46ms
1.29s
5
Hono (Bun)
TS
JSC
16,384
44,429
1.66GB/s
✓
2xx: 666,882
3xx: 0
4xx: 0
5xx: 0
9639.8%
11.7GiB
334.37ms
1.25s
6
nginx
C
nginx
16,384
44,227
1.77GB/s
✓
2xx: 663,412
3xx: 0
4xx: 0
5xx: 0
10657.4%
7.0GiB
330.61ms
1.25s
7
node
JS
V8
16,384
43,317
1.65GB/s
✓
2xx: 650,198
3xx: 0
4xx: 0
5xx: 0
9877.9%
9.1GiB
84.65ms
918.80ms
8
salvo
Rust
Salvo
16,384
42,097
1.79GB/s
✓
2xx: 632,300
3xx: 0
4xx: 0
5xx: 0
8449.5%
2.0GiB
157.06ms
1.31s
9
FastPySGI-WSGI
Python
libuv
16,384
40,993
1.64GB/s
✓
2xx: 614,907
3xx: 0
4xx: 0
5xx: 0
10677.8%
3.5GiB
365.45ms
2.36s
10
FastPySGI-ASGI
Python
libuv
16,384
39,885
1.59GB/s
✓
2xx: 599,084
3xx: 0
4xx: 0
5xx: 0
10525.0%
2.7GiB
377.00ms
2.27s
11
Koa
JS
V8
16,384
39,818
1.54GB/s
✓
2xx: 597,675
3xx: 0
4xx: 0
5xx: 0
9749.5%
10.0GiB
78.27ms
991.90ms
12
caddy
Go
caddy
16,384
39,405
949.31MB/s
✓
2xx: 591,482
3xx: 0
4xx: 0
5xx: 0
9087.0%
16.3GiB
288.76ms
5.00s
13
quarkus-jvm
Java
Netty
16,384
38,688
1.03GB/s
✓
2xx: 581,106
3xx: 0
4xx: 0
5xx: 0
8345.4%
19.2GiB
314.57ms
2.77s
14
h2o
C
h2o
16,384
37,422
1.71GB/s
✓
2xx: 561,331
3xx: 0
4xx: 0
5xx: 0
10789.7%
7.5GiB
389.39ms
2.11s
15
kemal
Crystal
Kemal
16,384
36,991
1.50GB/s
✓
2xx: 555,248
3xx: 0
4xx: 0
5xx: 0
10359.6%
24.6GiB
391.78ms
1.03s
16
Fastify
JS
V8
16,384
36,723
1.42GB/s
✓
2xx: 551,222
3xx: 0
4xx: 0
5xx: 0
9991.6%
10.0GiB
92.86ms
1.08s
17
actix
Rust
actix
16,384
34,965
1.30GB/s
✓
2xx: 525,877
3xx: 0
4xx: 0
5xx: 0
8634.6%
14.6GiB
379.24ms
4.38s
18
rocket
Rust
rocket
16,384
34,730
1.48GB/s
✓
2xx: 520,951
3xx: 0
4xx: 0
5xx: 0
5381.5%
331.2MiB
137.22ms
1.31s
19
Express
JS
V8
16,384
33,499
1.28GB/s
✓
2xx: 502,834
3xx: 0
4xx: 0
5xx: 0
10451.2%
9.7GiB
97.04ms
1.05s
20
vertx
Java
Netty
16,384
33,099
1.21GB/s
✓
2xx: 496,818
3xx: 0
4xx: 0
5xx: 0
9026.8%
25.7GiB
413.22ms
1.70s
21
Starlette
Python
uvicorn
16,384
32,617
1.28GB/s
✓
2xx: 489,592
3xx: 0
4xx: 0
5xx: 0
10514.6%
8.8GiB
206.76ms
1.72s
22
hono (node)
JS
Node
16,384
32,193
1.24GB/s
✓
2xx: 483,225
3xx: 0
4xx: 0
5xx: 0
10176.8%
10.6GiB
91.45ms
1.29s
23
FastAPI
Python
uvicorn
16,384
32,134
1.26GB/s
✓
2xx: 482,334
3xx: 0
4xx: 0
5xx: 0
10566.2%
11.5GiB
210.98ms
1.69s
24
deno
TS
V8
16,384
30,880
1.52GB/s
✓
2xx: 463,519
3xx: 0
4xx: 0
5xx: 0
8562.2%
16.9GiB
448.48ms
1.32s
25
blitz
Zig
io_uring
16,384
30,716
1018.82MB/s
14,103
2xx: 461,056
3xx: 0
4xx: 14,103
5xx: 0
9822.8%
11.3GiB
373.70ms
1.90s
26
h2o-mruby
Ruby
h2o
16,384
29,948
1.52GB/s
53,979
2xx: 449,233
3xx: 0
4xx: 53,979
5xx: 0
10529.9%
3.6GiB
149.60ms
984.60ms
27
fiber
Go
fiber
16,384
29,689
1.15GB/s
✓
2xx: 445,348
3xx: 0
4xx: 0
5xx: 0
8810.8%
3.6GiB
221.71ms
1.53s
28
gleam-mist
Gleam
BEAM
16,384
26,832
1.08GB/s
✓
2xx: 402,757
3xx: 0
4xx: 0
5xx: 0
9279.5%
1.8GiB
54.55ms
584.10ms
29
ntex-tokio
Rust
Tokio
16,384
26,576
4.75GB/s
✓
2xx: 399,717
3xx: 0
4xx: 0
5xx: 0
6923.3%
5.1GiB
492.84ms
2.32s
30
prologue
Nim
asynchserver
16,384
26,340
474.33MB/s
✓
2xx: 395,904
3xx: 0
4xx: 0
5xx: 0
9907.5%
51.0GiB
504.47ms
3.79s
31
Sinatra
Ruby
puma
16,384
25,797
1.02GB/s
✓
2xx: 387,221
3xx: 0
4xx: 0
5xx: 0
9268.3%
31.4GiB
522.55ms
2.56s
32
Django
Python
gunicorn
16,384
24,999
1.17GB/s
✓
2xx: 375,991
3xx: 0
4xx: 0
5xx: 0
8599.9%
8.5GiB
111.09ms
479.50ms
33
flask
Python
gunicorn
16,384
24,735
1.16GB/s
✓
2xx: 372,022
3xx: 0
4xx: 0
5xx: 0
8864.8%
7.1GiB
111.74ms
383.80ms
34
nginx-openresty
Lua
openresty
16,384
23,560
828.39MB/s
✓
2xx: 353,645
3xx: 0
4xx: 0
5xx: 0
11606.8%
7.1GiB
613.47ms
2.37s
35
Rails
Ruby
puma
16,384
22,252
910.16MB/s
✓
2xx: 334,006
3xx: 0
4xx: 0
5xx: 0
9844.7%
36.4GiB
629.81ms
1.89s
36
chi
Go
chi
16,384
21,538
576.36MB/s
✓
2xx: 323,079
3xx: 0
4xx: 0
5xx: 0
8112.2%
2.9GiB
366.34ms
4.79s
37
gin
Go
gin
16,384
21,390
545.64MB/s
✓
2xx: 321,072
3xx: 0
4xx: 0
5xx: 0
8101.2%
958.2MiB
366.77ms
5.00s
38
phoenix
Elixir
BEAM
16,384
21,376
497.85MB/s
✓
2xx: 320,652
3xx: 0
4xx: 0
5xx: 0
5899.5%
4.7GiB
227.06ms
5.00s
39
drogon
C++
drogon
16,384
20,646
297.91MB/s
✓
2xx: 309,701
3xx: 0
4xx: 0
5xx: 0
5700.1%
930.8MiB
637.13ms
4.77s
40
echo
Go
echo
16,384
19,677
569.09MB/s
✓
2xx: 295,156
3xx: 0
4xx: 0
5xx: 0
7967.4%
2.3GiB
378.54ms
4.44s
41
spring-jvm
Java
Tomcat
16,384
19,202
628.45MB/s
✓
2xx: 288,226
3xx: 0
4xx: 0
5xx: 0
11483.4%
4.0GiB
735.04ms
1.16s
42
ktor
Kotlin
Netty
16,384
16,392
502.97MB/s
✓
2xx: 245,880
3xx: 0
4xx: 0
5xx: 0
10565.1%
13.2GiB
851.12ms
1.91s
43
hummingbird
Swift
Hummingbird
16,384
13,980
634.24MB/s
✓
2xx: 209,711
3xx: 0
4xx: 0
5xx: 0
10177.0%
1.2GiB
62.73ms
906.50ms
44
GenHTTP
C#
GenHTTP
16,384
8,907
517.36MB/s
✓
2xx: 133,607
3xx: 0
4xx: 0
5xx: 0
10031.1%
5.1GiB
1.09s
5.00s
45
aspnet-minimal
C#
Kestrel
16,384
6,484
343.98MB/s
✓
2xx: 97,271
3xx: 0
4xx: 0
5xx: 0
8786.3%
2.8GiB
1.03s
5.00s
46
ulfius
C
libmicrohttpd
16,384
6,368
286.10MB/s
✓
2xx: 95,523
3xx: 0
4xx: 0
5xx: 0
1427.0%
657.5MiB
67.98ms
652.60ms
47
spring-jvm-jetty
Java
Jetty
16,384
655
19.05MB/s
✓
2xx: 9,832
3xx: 0
4xx: 0
5xx: 0
544.1%
2.0GiB
39.78ms
234.90ms
Results
Baseline
Short-lived Con.
JSON Processing
Upload (20 MB)
Compression
Noisy
Mixed Workload
Pipelined (16)
Async DB
16 HTTP requests are sent back-to-back on each connection before waiting for responses. Uses a lightweight
GET /pipeline endpoint that returns a fixed response, isolating raw I/O and pipeline handling from application logic. Frameworks that batch pipelined requests from the read buffer gain a significant advantage.Type
All
Framework
Engine
Conn
Best
512
4096
16384
Click a row to expand details
#
Framework
Lang
Engine
Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
#
Framework
Lang
Engine
Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
1
ringzero
C
io_uring
512
47,284,064
3.70GB/s
✓
2xx: 236,420,320
3xx: 0
4xx: 0
5xx: 0
6302.5%
4.1GiB
172us
248us
2
blitz
Zig
io_uring
512
36,356,217
2.74GB/s
✓
2xx: 181,781,088
3xx: 0
4xx: 0
5xx: 0
6880.3%
4.4GiB
226us
1.23ms
3
actix
Rust
actix
512
20,412,329
2.53GB/s
✓
2xx: 102,061,648
3xx: 0
4xx: 0
5xx: 0
8031.0%
123.3MiB
400us
2.14ms
4
vertx
Java
Netty
512
18,629,148
1.14GB/s
✓
2xx: 93,145,743
3xx: 0
4xx: 0
5xx: 0
9169.6%
10.7GiB
439us
3.38ms
5
ntex-tokio
Rust
Tokio
512
17,997,916
1.96GB/s
✓
2xx: 89,989,584
3xx: 0
4xx: 0
5xx: 0
8289.0%
89.8MiB
454us
2.25ms
6
ntex-iouring
Rust
io_uring
512
17,930,900
1.95GB/s
✓
2xx: 89,654,501
3xx: 0
4xx: 0
5xx: 0
8876.8%
126.9MiB
456us
3.35ms
7
go-fasthttp
Go
fasthttp
512
16,786,953
1.94GB/s
✓
2xx: 83,934,768
3xx: 0
4xx: 0
5xx: 0
8310.4%
79.8MiB
488us
2.38ms
8
hyper
Rust
hyper
512
15,675,088
1.72GB/s
✓
2xx: 78,375,440
3xx: 0
4xx: 0
5xx: 0
9646.9%
46.0MiB
522us
2.31ms
9
GenHTTP
C#
GenHTTP
512
11,902,422
1.33GB/s
✓
2xx: 59,512,112
3xx: 0
4xx: 0
5xx: 0
7158.4%
288.1MiB
687us
4.42ms
10
quarkus-jvm
Java
Netty
512
11,851,862
1.11GB/s
✓
2xx: 59,259,312
3xx: 0
4xx: 0
5xx: 0
9697.2%
10.2GiB
690us
3.84ms
11
aspnet-minimal
C#
Kestrel
512
11,264,374
1.49GB/s
✓
2xx: 56,321,871
3xx: 0
4xx: 0
5xx: 0
6604.4%
205.7MiB
726us
4.01ms
12
drogon
C++
drogon
512
7,828,214
1000.07MB/s
✓
2xx: 39,141,072
3xx: 0
4xx: 0
5xx: 0
10874.3%
77.2MiB
1.05ms
3.85ms
13
FastPySGI-WSGI
Python
libuv
512
7,511,887
1.15GB/s
✓
2xx: 37,859,915
3xx: 0
4xx: 0
5xx: 0
7222.8%
377.0MiB
1.09ms
6.90ms
14
kemal
Crystal
Kemal
512
6,468,526
1006.15MB/s
✓
2xx: 32,407,317
3xx: 0
4xx: 0
5xx: 0
8252.7%
2.6GiB
1.26ms
10.20ms
15
ultimate-express
JS
uWebSockets
512
5,897,427
1.05GB/s
✓
2xx: 29,487,136
3xx: 0
4xx: 0
5xx: 0
10585.3%
4.8GiB
1.39ms
4.86ms
16
h2o
C
h2o
512
5,069,816
497.75MB/s
✓
2xx: 25,349,080
3xx: 0
4xx: 0
5xx: 0
8240.1%
57.4MiB
1.62ms
8.14ms
17
nginx
C
nginx
512
4,319,952
584.70MB/s
✓
2xx: 21,599,762
3xx: 0
4xx: 0
5xx: 0
7657.4%
3.5GiB
1.89ms
11.40ms
18
salvo
Rust
Salvo
512
3,180,283
536.56MB/s
✓
2xx: 15,901,417
3xx: 0
4xx: 0
5xx: 0
8317.6%
69.4MiB
2.58ms
9.01ms
19
h2o-mruby
Ruby
h2o
512
2,977,745
448.36MB/s
✓
2xx: 14,888,726
3xx: 0
4xx: 0
5xx: 0
8661.6%
255.5MiB
2.75ms
12.10ms
20
deno
TS
V8
512
2,510,084
334.92MB/s
✓
2xx: 12,550,420
3xx: 0
4xx: 0
5xx: 0
6297.8%
3.7GiB
3.26ms
32.80ms
21
node
JS
V8
512
2,316,900
353.30MB/s
✓
2xx: 11,584,500
3xx: 0
4xx: 0
5xx: 0
8949.1%
2.9GiB
3.54ms
14.10ms
22
Fastify
JS
V8
512
2,260,567
361.99MB/s
✓
2xx: 11,302,838
3xx: 0
4xx: 0
5xx: 0
8911.3%
5.4GiB
3.63ms
14.50ms
23
nginx-openresty
Lua
openresty
512
2,248,950
353.61MB/s
✓
2xx: 11,244,752
3xx: 0
4xx: 0
5xx: 0
8451.3%
3.7GiB
3.64ms
18.00ms
24
FastPySGI-ASGI
Python
libuv
512
1,944,087
305.71MB/s
✓
2xx: 9,720,439
3xx: 0
4xx: 0
5xx: 0
8592.9%
16.5GiB
4.18ms
19.40ms
25
hono (node)
JS
Node
512
1,877,689
320.33MB/s
✓
2xx: 9,388,445
3xx: 0
4xx: 0
5xx: 0
9156.9%
5.3GiB
4.37ms
14.60ms
26
Koa
JS
V8
512
1,719,121
291.65MB/s
✓
2xx: 8,595,609
3xx: 0
4xx: 0
5xx: 0
9292.2%
6.8GiB
4.77ms
17.00ms
27
prologue
Nim
asynchserver
512
1,657,013
132.67MB/s
✓
2xx: 8,285,066
3xx: 0
4xx: 0
5xx: 0
8985.9%
98.0GiB
4.94ms
22.00ms
28
spring-jvm-jetty
Java
Jetty
512
1,066,161
162.61MB/s
✓
2xx: 5,330,807
3xx: 0
4xx: 0
5xx: 0
8837.8%
4.9GiB
6.60ms
70.20ms
29
ulfius
C
libmicrohttpd
512
1,044,528
102.56MB/s
✓
2xx: 5,222,640
3xx: 0
4xx: 0
5xx: 0
10399.6%
77.9MiB
7.86ms
17.40ms
30
caddy
Go
caddy
512
899,420
101.18MB/s
✓
2xx: 4,497,103
3xx: 0
4xx: 0
5xx: 0
4971.2%
721.0MiB
8.98ms
277.40ms
31
phoenix
Elixir
BEAM
512
828,835
135.92MB/s
✓
2xx: 4,144,177
3xx: 0
4xx: 0
5xx: 0
9985.4%
714.6MiB
9.84ms
50.80ms
32
gin
Go
gin
512
795,872
99.39MB/s
✓
2xx: 3,979,360
3xx: 0
4xx: 0
5xx: 0
4889.9%
135.1MiB
10.22ms
182.00ms
33
Starlette
Python
uvicorn
512
722,841
106.12MB/s
✓
2xx: 3,614,207
3xx: 0
4xx: 0
5xx: 0
10221.1%
5.0GiB
11.30ms
49.30ms
34
chi
Go
chi
512
714,492
89.23MB/s
✓
2xx: 3,572,462
3xx: 0
4xx: 0
5xx: 0
4743.2%
306.9MiB
11.39ms
181.60ms
35
hummingbird
Swift
Hummingbird
512
705,463
83.41MB/s
✓
2xx: 3,527,318
3xx: 0
4xx: 0
5xx: 0
8652.8%
95.8MiB
10.58ms
26.30ms
36
echo
Go
echo
512
666,543
83.87MB/s
✓
2xx: 3,332,715
3xx: 0
4xx: 0
5xx: 0
4827.9%
182.0MiB
12.19ms
155.20ms
37
Sinatra
Ruby
puma
512
647,785
59.90MB/s
✓
2xx: 3,238,926
3xx: 0
4xx: 0
5xx: 0
9605.5%
4.6GiB
12.53ms
59.50ms
38
fiber
Go
fiber
512
626,326
79.41MB/s
✓
2xx: 3,131,632
3xx: 0
4xx: 0
5xx: 0
677.4%
45.9MiB
13.11ms
35.40ms
39
FastAPI
Python
uvicorn
512
521,132
75.51MB/s
✓
2xx: 2,605,662
3xx: 0
4xx: 0
5xx: 0
10477.0%
8.4GiB
15.63ms
59.80ms
40
Express
JS
V8
512
430,779
101.01MB/s
✓
2xx: 2,153,896
3xx: 0
4xx: 0
5xx: 0
10730.3%
11.8GiB
19.07ms
47.50ms
41
spring-jvm
Java
Tomcat
512
404,960
52.19MB/s
✓
2xx: 2,024,800
3xx: 0
4xx: 0
5xx: 0
2017.8%
2.1GiB
19.51ms
88.90ms
42
gleam-mist
Gleam
BEAM
512
352,070
49.34MB/s
✓
2xx: 1,760,354
3xx: 0
4xx: 0
5xx: 0
7299.6%
583.0MiB
23.30ms
33.30ms
43
ktor
Kotlin
Netty
512
315,600
39.71MB/s
✓
2xx: 1,578,000
3xx: 0
4xx: 0
5xx: 0
12268.0%
2.9GiB
26.02ms
57.20ms
44
Rails
Ruby
puma
512
283,864
57.64MB/s
✓
2xx: 1,419,323
3xx: 0
4xx: 0
5xx: 0
10507.0%
6.3GiB
28.62ms
94.00ms
45
rocket
Rust
rocket
512
171,805
38.65MB/s
✓
2xx: 859,027
3xx: 0
4xx: 0
5xx: 0
1284.2%
85.0MiB
46.67ms
890.80ms
46
bun
TS
JSC
512
131,948
13.12MB/s
✓
2xx: 659,741
3xx: 0
4xx: 0
5xx: 0
3170.9%
2.0GiB
11.82ms
52.00ms
47
flask
Python
gunicorn
512
124,471
16.61MB/s
✓
2xx: 622,355
3xx: 0
4xx: 0
5xx: 0
5120.6%
3.2GiB
3.95ms
5.74ms
48
Elysia
TS
Bun
512
120,279
11.97MB/s
✓
2xx: 601,395
3xx: 0
4xx: 0
5xx: 0
2660.4%
5.0GiB
12.49ms
48.90ms
49
Django
Python
gunicorn
512
117,661
17.83MB/s
✓
2xx: 588,305
3xx: 0
4xx: 0
5xx: 0
5372.9%
3.8GiB
4.16ms
6.88ms
50
Hono (Bun)
TS
JSC
512
107,104
12.54MB/s
✓
2xx: 535,522
3xx: 0
4xx: 0
5xx: 0
3463.0%
3.3GiB
16.00ms
58.00ms
#
Framework
Lang
Engine
Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
1
ringzero
C
io_uring
4,096
46,803,504
3.66GB/s
✓
2xx: 234,017,520
3xx: 0
4xx: 0
5xx: 0
6014.3%
4.2GiB
1.39ms
1.78ms
2
blitz
Zig
io_uring
4,096
40,223,542
3.03GB/s
✓
2xx: 201,117,712
3xx: 0
4xx: 0
5xx: 0
7105.8%
4.4GiB
1.63ms
9.91ms
3
actix
Rust
actix
4,096
23,001,200
2.85GB/s
✓
2xx: 115,006,000
3xx: 0
4xx: 0
5xx: 0
8348.8%
219.5MiB
2.84ms
14.30ms
4
ntex-tokio
Rust
Tokio
4,096
21,050,649
2.29GB/s
✓
2xx: 105,253,248
3xx: 0
4xx: 0
5xx: 0
8821.5%
159.2MiB
3.11ms
12.90ms
5
vertx
Java
Netty
4,096
20,977,443
1.29GB/s
✓
2xx: 104,887,216
3xx: 0
4xx: 0
5xx: 0
8913.7%
10.5GiB
3.12ms
12.60ms
6
ntex-iouring
Rust
io_uring
4,096
20,169,872
2.20GB/s
✓
2xx: 100,849,360
3xx: 0
4xx: 0
5xx: 0
9185.6%
213.3MiB
3.24ms
14.10ms
7
go-fasthttp
Go
fasthttp
4,096
17,808,031
2.06GB/s
✓
2xx: 89,218,240
3xx: 0
4xx: 0
5xx: 0
8427.5%
196.0MiB
3.67ms
18.10ms
8
hyper
Rust
hyper
4,096
16,273,142
1.79GB/s
✓
2xx: 81,365,712
3xx: 0
4xx: 0
5xx: 0
10039.4%
129.4MiB
4.02ms
11.50ms
9
GenHTTP
C#
GenHTTP
4,096
12,854,134
1.44GB/s
✓
2xx: 64,270,672
3xx: 0
4xx: 0
5xx: 0
8082.9%
1.1GiB
4.79ms
21.80ms
10
aspnet-minimal
C#
Kestrel
4,096
12,814,850
1.69GB/s
✓
2xx: 64,074,254
3xx: 0
4xx: 0
5xx: 0
7542.3%
481.0MiB
4.37ms
23.40ms
11
quarkus-jvm
Java
Netty
4,096
11,990,214
1.13GB/s
✓
2xx: 59,951,072
3xx: 0
4xx: 0
5xx: 0
9607.4%
10.1GiB
5.45ms
21.40ms
12
drogon
C++
drogon
4,096
7,612,822
972.53MB/s
✓
2xx: 38,064,112
3xx: 0
4xx: 0
5xx: 0
10929.1%
198.9MiB
8.61ms
20.40ms
13
FastPySGI-WSGI
Python
libuv
4,096
7,450,319
1.14GB/s
✓
2xx: 37,251,597
3xx: 0
4xx: 0
5xx: 0
6800.8%
847.6MiB
8.74ms
40.70ms
14
kemal
Crystal
Kemal
4,096
6,486,950
1009.33MB/s
✓
2xx: 32,499,620
3xx: 0
4xx: 0
5xx: 0
8788.0%
3.0GiB
10.04ms
78.50ms
15
h2o
C
h2o
4,096
5,825,727
572.32MB/s
✓
2xx: 29,186,894
3xx: 0
4xx: 0
5xx: 0
9047.5%
92.1MiB
11.17ms
45.80ms
16
ultimate-express
JS
uWebSockets
4,096
5,581,815
1022.95MB/s
✓
2xx: 27,964,896
3xx: 0
4xx: 0
5xx: 0
10653.1%
6.0GiB
11.64ms
31.20ms
17
nginx
C
nginx
4,096
3,931,583
532.17MB/s
✓
2xx: 19,657,918
3xx: 0
4xx: 0
5xx: 0
6928.1%
3.5GiB
16.57ms
71.60ms
18
deno
TS
V8
4,096
3,715,242
495.56MB/s
✓
2xx: 18,576,211
3xx: 0
4xx: 0
5xx: 0
6640.4%
3.9GiB
16.87ms
95.50ms
19
salvo
Rust
Salvo
4,096
3,304,422
557.50MB/s
✓
2xx: 16,522,110
3xx: 0
4xx: 0
5xx: 0
8564.6%
245.1MiB
19.76ms
83.50ms
20
h2o-mruby
Ruby
h2o
4,096
3,085,464
464.52MB/s
✓
2xx: 15,427,323
3xx: 0
4xx: 0
5xx: 0
8522.6%
262.0MiB
5.32ms
22.30ms
21
nginx-openresty
Lua
openresty
4,096
3,072,748
483.81MB/s
✓
2xx: 15,394,472
3xx: 0
4xx: 0
5xx: 0
8052.1%
3.7GiB
21.15ms
89.30ms
22
node
JS
V8
4,096
2,422,829
369.45MB/s
✓
2xx: 12,114,147
3xx: 0
4xx: 0
5xx: 0
9020.0%
3.9GiB
21.99ms
81.80ms
23
Fastify
JS
V8
4,096
2,340,070
374.74MB/s
✓
2xx: 11,700,353
3xx: 0
4xx: 0
5xx: 0
9018.6%
7.2GiB
22.28ms
79.40ms
24
prologue
Nim
asynchserver
4,096
1,907,730
152.75MB/s
✓
2xx: 9,538,651
3xx: 0
4xx: 0
5xx: 0
8792.7%
39.1GiB
34.13ms
188.60ms
25
hono (node)
JS
Node
4,096
1,850,356
316.12MB/s
✓
2xx: 9,270,288
3xx: 0
4xx: 0
5xx: 0
9165.4%
6.9GiB
28.77ms
96.30ms
26
Koa
JS
V8
4,096
1,726,567
292.83MB/s
✓
2xx: 8,632,836
3xx: 0
4xx: 0
5xx: 0
9095.3%
7.4GiB
31.43ms
104.80ms
27
gin
Go
gin
4,096
1,046,933
130.73MB/s
✓
2xx: 5,234,665
3xx: 0
4xx: 0
5xx: 0
6031.2%
1003.0MiB
57.80ms
1.50s
28
caddy
Go
caddy
4,096
1,045,495
117.60MB/s
✓
2xx: 5,227,479
3xx: 0
4xx: 0
5xx: 0
5650.7%
2.1GiB
35.34ms
2.03s
29
echo
Go
echo
4,096
1,016,858
127.95MB/s
✓
2xx: 5,084,292
3xx: 0
4xx: 0
5xx: 0
6456.9%
491.5MiB
58.83ms
1.59s
30
ulfius
C
libmicrohttpd
4,096
993,355
97.53MB/s
✓
2xx: 4,966,776
3xx: 0
4xx: 0
5xx: 0
10088.5%
124.7MiB
16.36ms
38.40ms
31
chi
Go
chi
4,096
937,099
117.02MB/s
✓
2xx: 4,685,495
3xx: 0
4xx: 0
5xx: 0
6371.4%
691.8MiB
59.02ms
1.51s
32
spring-jvm-jetty
Java
Jetty
4,096
875,759
133.54MB/s
✓
2xx: 4,378,797
3xx: 0
4xx: 0
5xx: 0
9142.9%
5.9GiB
26.96ms
364.70ms
33
gleam-mist
Gleam
BEAM
4,096
870,456
121.98MB/s
✓
2xx: 4,352,281
3xx: 0
4xx: 0
5xx: 0
8236.5%
1.3GiB
62.74ms
209.50ms
34
phoenix
Elixir
BEAM
4,096
783,765
128.47MB/s
✓
2xx: 3,918,828
3xx: 0
4xx: 0
5xx: 0
9599.1%
1.6GiB
70.97ms
589.00ms
35
Starlette
Python
uvicorn
4,096
775,051
113.77MB/s
✓
2xx: 3,906,258
3xx: 0
4xx: 0
5xx: 0
10109.3%
5.2GiB
79.73ms
267.70ms
36
hummingbird
Swift
Hummingbird
4,096
723,416
85.56MB/s
✓
2xx: 3,617,082
3xx: 0
4xx: 0
5xx: 0
8587.9%
174.7MiB
37.92ms
191.70ms
37
Sinatra
Ruby
puma
4,096
646,718
59.80MB/s
✓
2xx: 3,233,594
3xx: 0
4xx: 0
5xx: 0
9475.4%
4.9GiB
98.51ms
255.10ms
38
fiber
Go
fiber
4,096
623,248
79.02MB/s
✓
2xx: 3,116,240
3xx: 0
4xx: 0
5xx: 0
698.9%
95.6MiB
79.14ms
760.70ms
39
FastAPI
Python
uvicorn
4,096
535,866
77.65MB/s
✓
2xx: 2,679,331
3xx: 0
4xx: 0
5xx: 0
10144.1%
8.7GiB
111.59ms
378.80ms
40
Elysia
TS
Bun
4,096
498,687
49.45MB/s
✓
2xx: 2,493,436
3xx: 0
4xx: 0
5xx: 0
8536.1%
5.6GiB
104.98ms
268.20ms
41
bun
TS
JSC
4,096
491,345
48.72MB/s
✓
2xx: 2,461,642
3xx: 0
4xx: 0
5xx: 0
8616.5%
2.0GiB
106.30ms
290.90ms
42
Express
JS
V8
4,096
429,858
100.80MB/s
✓
2xx: 2,149,291
3xx: 0
4xx: 0
5xx: 0
10672.7%
12.5GiB
124.19ms
1.14s
43
spring-jvm
Java
Tomcat
4,096
403,181
51.96MB/s
✓
2xx: 2,015,908
3xx: 0
4xx: 0
5xx: 0
2092.8%
3.1GiB
146.50ms
977.80ms
44
Hono (Bun)
TS
JSC
4,096
381,649
44.52MB/s
✓
2xx: 1,908,246
3xx: 0
4xx: 0
5xx: 0
8497.1%
3.5GiB
140.50ms
330.30ms
45
ktor
Kotlin
Netty
4,096
339,689
42.75MB/s
✓
2xx: 1,698,448
3xx: 0
4xx: 0
5xx: 0
12357.3%
19.9GiB
188.95ms
356.30ms
46
Rails
Ruby
puma
4,096
282,116
57.28MB/s
✓
2xx: 1,410,583
3xx: 0
4xx: 0
5xx: 0
10670.8%
6.5GiB
221.84ms
499.90ms
47
rocket
Rust
rocket
4,096
176,014
39.60MB/s
✓
2xx: 880,073
3xx: 0
4xx: 0
5xx: 0
1315.4%
314.6MiB
356.90ms
1.31s
48
flask
Python
gunicorn
4,096
112,535
15.02MB/s
✓
2xx: 562,677
3xx: 0
4xx: 0
5xx: 0
3810.4%
960.6MiB
20.57ms
49.40ms
49
Django
Python
gunicorn
4,096
108,143
16.39MB/s
✓
2xx: 540,717
3xx: 0
4xx: 0
5xx: 0
4725.6%
4.0GiB
20.34ms
67.10ms
50
FastPySGI-ASGI
Python
libuv
4,096
2,186
352.25KB/s
✓
2xx: 10,934
3xx: 0
4xx: 0
5xx: 0
0%
0MiB
9.49ms
16.80ms
#
Framework
Lang
Engine
Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
1
ringzero
C
io_uring
16,384
41,623,836
3.25GB/s
✓
2xx: 208,119,184
3xx: 0
4xx: 0
5xx: 0
6371.7%
4.3GiB
5.65ms
7.67ms
2
blitz
Zig
io_uring
16,384
36,299,737
2.74GB/s
✓
2xx: 181,498,688
3xx: 0
4xx: 0
5xx: 0
7074.9%
4.5GiB
6.50ms
33.00ms
3
actix
Rust
actix
16,384
21,410,704
2.65GB/s
✓
2xx: 107,267,632
3xx: 0
4xx: 0
5xx: 0
8797.5%
689.0MiB
10.70ms
52.90ms
4
ntex-tokio
Rust
Tokio
16,384
20,468,953
2.23GB/s
✓
2xx: 102,549,456
3xx: 0
4xx: 0
5xx: 0
8978.5%
365.8MiB
11.28ms
58.30ms
5
ntex-iouring
Rust
io_uring
16,384
19,528,425
2.13GB/s
✓
2xx: 97,642,128
3xx: 0
4xx: 0
5xx: 0
8984.6%
503.6MiB
11.79ms
59.00ms
6
vertx
Java
Netty
16,384
19,161,030
1.18GB/s
✓
2xx: 95,805,152
3xx: 0
4xx: 0
5xx: 0
9004.2%
11.0GiB
11.87ms
50.30ms
7
go-fasthttp
Go
fasthttp
16,384
16,403,972
1.90GB/s
✓
2xx: 82,183,904
3xx: 0
4xx: 0
5xx: 0
7899.2%
503.8MiB
15.44ms
34.30ms
8
hyper
Rust
hyper
16,384
15,348,377
1.69GB/s
✓
2xx: 76,741,888
3xx: 0
4xx: 0
5xx: 0
9369.5%
434.9MiB
16.50ms
50.90ms
9
aspnet-minimal
C#
Kestrel
16,384
11,997,627
1.59GB/s
✓
2xx: 59,988,137
3xx: 0
4xx: 0
5xx: 0
7419.5%
782.9MiB
10.38ms
34.40ms
10
GenHTTP
C#
GenHTTP
16,384
11,304,323
1.26GB/s
✓
2xx: 56,521,616
3xx: 0
4xx: 0
5xx: 0
8455.9%
3.4GiB
20.36ms
52.60ms
11
quarkus-jvm
Java
Netty
16,384
11,139,164
1.05GB/s
✓
2xx: 55,695,824
3xx: 0
4xx: 0
5xx: 0
9876.1%
10.6GiB
20.50ms
73.60ms
12
drogon
C++
drogon
16,384
7,260,243
927.48MB/s
✓
2xx: 36,301,216
3xx: 0
4xx: 0
5xx: 0
10457.6%
568.3MiB
34.69ms
88.30ms
13
FastPySGI-WSGI
Python
libuv
16,384
6,871,598
1.06GB/s
✓
2xx: 34,357,994
3xx: 0
4xx: 0
5xx: 0
6619.7%
2.6GiB
36.47ms
327.80ms
14
kemal
Crystal
Kemal
16,384
6,283,125
976.26MB/s
✓
2xx: 31,478,459
3xx: 0
4xx: 0
5xx: 0
8374.2%
4.3GiB
39.95ms
213.50ms
15
h2o
C
h2o
16,384
5,703,778
559.91MB/s
✓
2xx: 28,518,894
3xx: 0
4xx: 0
5xx: 0
9230.2%
209.4MiB
44.13ms
145.70ms
16
ultimate-express
JS
uWebSockets
16,384
5,432,208
994.19MB/s
✓
2xx: 27,161,040
3xx: 0
4xx: 0
5xx: 0
10201.1%
6.0GiB
45.91ms
123.30ms
17
nginx
C
nginx
16,384
3,487,011
471.83MB/s
✓
2xx: 17,435,058
3xx: 0
4xx: 0
5xx: 0
6691.3%
3.7GiB
71.46ms
274.50ms
18
salvo
Rust
Salvo
16,384
3,201,296
540.04MB/s
✓
2xx: 16,006,483
3xx: 0
4xx: 0
5xx: 0
8236.6%
837.9MiB
70.40ms
254.00ms
19
h2o-mruby
Ruby
h2o
16,384
2,925,105
440.39MB/s
✓
2xx: 14,684,029
3xx: 0
4xx: 0
5xx: 0
7954.5%
261.3MiB
5.38ms
22.20ms
20
nginx-openresty
Lua
openresty
16,384
2,870,076
451.25MB/s
✓
2xx: 14,350,382
3xx: 0
4xx: 0
5xx: 0
7720.3%
3.9GiB
85.42ms
320.70ms
21
deno
TS
V8
16,384
2,283,431
305.02MB/s
✓
2xx: 11,439,992
3xx: 0
4xx: 0
5xx: 0
6749.5%
4.3GiB
95.30ms
304.00ms
22
node
JS
V8
16,384
2,269,822
346.17MB/s
✓
2xx: 11,349,110
3xx: 0
4xx: 0
5xx: 0
8321.1%
4.1GiB
77.11ms
346.90ms
23
Fastify
JS
V8
16,384
2,208,424
353.61MB/s
✓
2xx: 11,064,207
3xx: 0
4xx: 0
5xx: 0
8248.9%
7.7GiB
77.16ms
456.80ms
24
hono (node)
JS
Node
16,384
1,813,540
309.44MB/s
✓
2xx: 9,067,700
3xx: 0
4xx: 0
5xx: 0
8454.2%
7.5GiB
84.90ms
304.30ms
25
Koa
JS
V8
16,384
1,628,092
276.24MB/s
✓
2xx: 8,140,460
3xx: 0
4xx: 0
5xx: 0
8395.6%
7.6GiB
103.14ms
701.30ms
26
caddy
Go
caddy
16,384
1,194,117
134.33MB/s
✓
2xx: 5,970,587
3xx: 0
4xx: 0
5xx: 0
6939.5%
16.1GiB
92.74ms
1.14s
27
gin
Go
gin
16,384
1,089,344
136.03MB/s
✓
2xx: 5,446,721
3xx: 0
4xx: 0
5xx: 0
7198.6%
782.8MiB
71.95ms
2.58s
28
echo
Go
echo
16,384
1,069,003
134.51MB/s
✓
2xx: 5,345,015
3xx: 0
4xx: 0
5xx: 0
6876.2%
960.7MiB
82.37ms
2.82s
29
chi
Go
chi
16,384
1,062,258
132.66MB/s
✓
2xx: 5,311,290
3xx: 0
4xx: 0
5xx: 0
6771.2%
1.2GiB
75.92ms
3.02s
30
gleam-mist
Gleam
BEAM
16,384
1,012,441
141.87MB/s
✓
2xx: 5,062,206
3xx: 0
4xx: 0
5xx: 0
9149.5%
2.2GiB
73.35ms
177.00ms
31
ulfius
C
libmicrohttpd
16,384
1,000,735
98.35MB/s
✓
2xx: 5,013,687
3xx: 0
4xx: 0
5xx: 0
8971.6%
127.1MiB
15.98ms
51.70ms
32
spring-jvm-jetty
Java
Jetty
16,384
917,161
139.87MB/s
✓
2xx: 4,585,807
3xx: 0
4xx: 0
5xx: 0
8862.1%
7.0GiB
51.52ms
777.40ms
33
prologue
Nim
asynchserver
16,384
896,533
71.77MB/s
✓
2xx: 4,482,668
3xx: 0
4xx: 0
5xx: 0
9119.5%
20.8GiB
264.90ms
795.40ms
34
phoenix
Elixir
BEAM
16,384
740,589
121.42MB/s
✓
2xx: 3,702,948
3xx: 0
4xx: 0
5xx: 0
9221.2%
960.9MiB
127.70ms
1.36s
35
hummingbird
Swift
Hummingbird
16,384
723,076
85.51MB/s
✓
2xx: 3,615,384
3xx: 0
4xx: 0
5xx: 0
8875.5%
185.0MiB
42.56ms
355.70ms
36
fiber
Go
fiber
16,384
650,102
82.43MB/s
✓
2xx: 3,250,512
3xx: 0
4xx: 0
5xx: 0
709.3%
138.4MiB
71.56ms
255.10ms
37
Starlette
Python
uvicorn
16,384
645,848
94.93MB/s
✓
2xx: 3,235,703
3xx: 0
4xx: 0
5xx: 0
9794.6%
5.9GiB
303.83ms
1.01s
38
Sinatra
Ruby
puma
16,384
628,906
58.16MB/s
✓
2xx: 3,144,530
3xx: 0
4xx: 0
5xx: 0
9217.0%
5.1GiB
264.89ms
623.80ms
39
Elysia
TS
Bun
16,384
582,534
57.63MB/s
✓
2xx: 2,912,672
3xx: 0
4xx: 0
5xx: 0
8692.4%
5.9GiB
392.64ms
805.50ms
40
bun
TS
JSC
16,384
541,960
53.65MB/s
✓
2xx: 2,709,802
3xx: 0
4xx: 0
5xx: 0
8837.5%
2.5GiB
419.27ms
858.40ms
41
FastAPI
Python
uvicorn
16,384
447,177
64.80MB/s
✓
2xx: 2,235,885
3xx: 0
4xx: 0
5xx: 0
10288.2%
7.8GiB
437.75ms
1.39s
42
Express
JS
V8
16,384
422,041
98.96MB/s
✓
2xx: 2,110,208
3xx: 0
4xx: 0
5xx: 0
10185.4%
12.7GiB
182.80ms
2.16s
43
Hono (Bun)
TS
JSC
16,384
409,621
47.81MB/s
✓
2xx: 2,052,204
3xx: 0
4xx: 0
5xx: 0
8311.3%
4.2GiB
549.56ms
1.17s
44
spring-jvm
Java
Tomcat
16,384
392,949
50.63MB/s
✓
2xx: 1,964,747
3xx: 0
4xx: 0
5xx: 0
2058.3%
5.0GiB
391.60ms
3.31s
45
ktor
Kotlin
Netty
16,384
358,144
45.07MB/s
✓
2xx: 1,790,720
3xx: 0
4xx: 0
5xx: 0
11588.2%
23.0GiB
598.34ms
981.10ms
46
Rails
Ruby
puma
16,384
254,292
51.63MB/s
✓
2xx: 1,271,462
3xx: 0
4xx: 0
5xx: 0
9778.8%
6.8GiB
819.18ms
1.58s
47
rocket
Rust
rocket
16,384
179,621
40.41MB/s
✓
2xx: 898,106
3xx: 0
4xx: 0
5xx: 0
1354.4%
740.0MiB
742.23ms
3.62s
48
flask
Python
gunicorn
16,384
41,402
5.53MB/s
✓
2xx: 207,840
3xx: 0
4xx: 0
5xx: 0
1399.6%
3.1GiB
63.35ms
630.70ms
49
Django
Python
gunicorn
16,384
38,530
5.84MB/s
✓
2xx: 193,422
3xx: 0
4xx: 0
5xx: 0
1798.4%
4.4GiB
76.49ms
891.30ms
50
FastPySGI-ASGI
Python
libuv
16,384
1,356
218.41KB/s
✓
2xx: 6,780
3xx: 0
4xx: 0
5xx: 0
0%
0MiB
8.94ms
17.20ms
Results
Baseline
Short-lived Con.
JSON Processing
Upload (20 MB)
Compression
Noisy
Mixed Workload
Pipelined (16)
Async DB
Async Postgres query over 100K rows with no index on price, forcing a sequential scan per request. The framework manages its own connection pool and uses an async Postgres driver. Measures event loop scheduling, connection pooling efficiency, and async I/O throughput. Framework-only — engines are excluded.
Type
All
Framework
Engine
Conn
Best
512
1024
Click a row to expand details
#
Framework
Lang
Engine
Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
#
Framework
Lang
Engine
Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
1
GenHTTP
C#
GenHTTP
512
145,134
1.12GB/s
✓
2xx: 725,670
3xx: 0
4xx: 0
5xx: 0
3828.8%
462.1MiB
2.57ms
8.76ms
2
ktor
Kotlin
Netty
512
133,415
1.03GB/s
✓
2xx: 667,076
3xx: 0
4xx: 0
5xx: 0
4556.3%
7.0GiB
2.93ms
8.63ms
3
kemal
Crystal
Kemal
512
133,123
1.03GB/s
✓
2xx: 665,615
3xx: 0
4xx: 0
5xx: 0
5963.9%
2.7GiB
2.95ms
15.90ms
4
FastPySGI-ASGI
Python
libuv
512
132,445
1.07GB/s
✓
2xx: 662,229
3xx: 0
4xx: 0
5xx: 0
6911.8%
1.3GiB
2.92ms
11.60ms
5
aspnet-minimal
C#
Kestrel
512
130,676
1.01GB/s
✓
2xx: 653,382
3xx: 0
4xx: 0
5xx: 0
3588.6%
332.5MiB
2.50ms
8.31ms
6
quarkus-jvm
Java
Netty
512
115,455
908.34MB/s
✓
2xx: 577,278
3xx: 0
4xx: 0
5xx: 0
4916.9%
10.3GiB
3.55ms
29.00ms
7
nginx-openresty
Lua
openresty
512
115,182
908.20MB/s
✓
2xx: 575,914
3xx: 0
4xx: 0
5xx: 0
6573.1%
4.1GiB
3.63ms
12.80ms
8
ntex-tokio
Rust
Tokio
512
112,045
884.75MB/s
✓
2xx: 560,225
3xx: 0
4xx: 0
5xx: 0
4910.6%
183.0MiB
3.62ms
14.60ms
9
Starlette
Python
uvicorn
512
110,273
914.20MB/s
✓
2xx: 551,368
3xx: 0
4xx: 0
5xx: 0
7289.3%
5.3GiB
3.76ms
16.10ms
10
spring-jvm
Java
Tomcat
512
106,786
845.86MB/s
✓
2xx: 533,930
3xx: 0
4xx: 0
5xx: 0
4794.4%
3.9GiB
4.25ms
14.30ms
11
spring-jvm-jetty
Java
Jetty
512
105,151
833.20MB/s
✓
2xx: 525,756
3xx: 0
4xx: 0
5xx: 0
5181.9%
4.6GiB
3.27ms
61.70ms
12
FastAPI
Python
uvicorn
512
103,136
854.90MB/s
✓
2xx: 515,680
3xx: 0
4xx: 0
5xx: 0
7359.9%
9.0GiB
4.11ms
18.90ms
13
actix
Rust
actix
512
102,064
792.23MB/s
✓
2xx: 510,320
3xx: 0
4xx: 0
5xx: 0
4443.2%
172.9MiB
4.17ms
109.50ms
14
salvo
Rust
Salvo
512
100,349
784.35MB/s
✓
2xx: 501,745
3xx: 0
4xx: 0
5xx: 0
4293.0%
150.4MiB
4.40ms
107.10ms
15
node
JS
V8
512
97,319
757.45MB/s
✓
2xx: 486,595
3xx: 0
4xx: 0
5xx: 0
4252.8%
4.2GiB
4.38ms
122.60ms
16
rocket
Rust
rocket
512
96,453
757.39MB/s
✓
2xx: 482,265
3xx: 0
4xx: 0
5xx: 0
4556.5%
123.0MiB
4.67ms
108.20ms
17
Fastify
JS
V8
512
94,171
736.70MB/s
✓
2xx: 470,855
3xx: 0
4xx: 0
5xx: 0
4471.8%
5.2GiB
4.50ms
125.70ms
18
hono (node)
JS
Node
512
93,924
733.30MB/s
✓
2xx: 469,621
3xx: 0
4xx: 0
5xx: 0
4640.2%
4.7GiB
4.50ms
129.40ms
19
Koa
JS
V8
512
93,399
729.12MB/s
✓
2xx: 466,998
3xx: 0
4xx: 0
5xx: 0
4720.4%
4.8GiB
4.44ms
128.70ms
20
Sinatra
Ruby
puma
512
88,132
693.04MB/s
✓
2xx: 440,664
3xx: 0
4xx: 0
5xx: 0
7316.2%
6.4GiB
4.96ms
17.60ms
21
Elysia
TS
Bun
512
87,558
677.58MB/s
✓
2xx: 437,791
3xx: 0
4xx: 0
5xx: 0
4782.4%
7.7GiB
4.72ms
130.80ms
22
Express
JS
V8
512
77,705
611.92MB/s
✓
2xx: 388,527
3xx: 0
4xx: 0
5xx: 0
5730.7%
9.2GiB
5.63ms
142.70ms
23
ulfius
C
libmicrohttpd
512
77,211
680.86MB/s
✓
2xx: 386,057
3xx: 0
4xx: 0
5xx: 0
9260.1%
178.8MiB
5.83ms
18.70ms
24
ultimate-express
JS
uWebSockets
512
76,060
591.10MB/s
✓
2xx: 380,303
3xx: 0
4xx: 0
5xx: 0
2989.7%
4.5GiB
5.29ms
121.60ms
25
FastPySGI-WSGI
Python
libuv
512
75,101
595.36MB/s
✓
2xx: 375,506
3xx: 0
4xx: 0
5xx: 0
6190.4%
930.6MiB
6.08ms
19.10ms
26
Hono (Bun)
TS
JSC
512
73,036
563.13MB/s
✓
2xx: 365,180
3xx: 0
4xx: 0
5xx: 0
4072.8%
4.7GiB
5.96ms
124.70ms
27
bun
TS
JSC
512
69,725
535.81MB/s
✓
2xx: 348,626
3xx: 0
4xx: 0
5xx: 0
3491.3%
4.8GiB
6.17ms
128.60ms
28
Rails
Ruby
puma
512
69,288
553.42MB/s
✓
2xx: 346,440
3xx: 0
4xx: 0
5xx: 0
7882.9%
9.7GiB
6.64ms
20.50ms
29
drogon
C++
drogon
512
65,743
581.62MB/s
✓
2xx: 328,717
3xx: 0
4xx: 0
5xx: 0
8485.6%
106.2MiB
7.07ms
10.20ms
30
deno
TS
V8
512
45,100
343.27MB/s
✓
2xx: 225,503
3xx: 0
4xx: 0
5xx: 0
3226.0%
4.0GiB
10.59ms
266.90ms
31
phoenix
Elixir
BEAM
512
34,405
273.46MB/s
✓
2xx: 172,026
3xx: 0
4xx: 0
5xx: 0
5657.5%
520.7MiB
14.41ms
17.50ms
32
gleam-mist
Gleam
BEAM
512
33,804
5.61MB/s
✓
2xx: 169,020
3xx: 0
4xx: 0
5xx: 0
6442.7%
992.4MiB
15.21ms
19.80ms
33
flask
Python
gunicorn
512
31,965
283.98MB/s
✓
2xx: 159,827
3xx: 0
4xx: 0
5xx: 0
3166.6%
8.9GiB
15.64ms
16.90ms
34
go-fasthttp
Go
fasthttp
512
30,602
241.61MB/s
✓
2xx: 153,012
3xx: 0
4xx: 0
5xx: 0
5758.7%
270.6MiB
16.66ms
70.10ms
35
Django
Python
gunicorn
512
27,341
243.46MB/s
✓
2xx: 136,705
3xx: 0
4xx: 0
5xx: 0
2724.3%
10.2GiB
18.58ms
20.00ms
36
fiber
Go
fiber
512
17,927
133.17MB/s
✓
2xx: 89,635
3xx: 0
4xx: 0
5xx: 0
5578.1%
250.6MiB
26.96ms
200.50ms
37
echo
Go
echo
512
16,899
125.36MB/s
✓
2xx: 84,496
3xx: 0
4xx: 0
5xx: 0
6044.7%
294.4MiB
28.94ms
208.60ms
38
gin
Go
gin
512
16,854
124.92MB/s
✓
2xx: 84,272
3xx: 0
4xx: 0
5xx: 0
6038.2%
329.6MiB
28.91ms
205.40ms
39
chi
Go
chi
512
16,711
123.73MB/s
✓
2xx: 83,556
3xx: 0
4xx: 0
5xx: 0
6041.2%
313.8MiB
29.36ms
205.20ms
40
hummingbird
Swift
Hummingbird
512
9,616
75.91MB/s
✓
2xx: 48,083
3xx: 0
4xx: 0
5xx: 0
11983.2%
101.8MiB
50.18ms
68.80ms
#
Framework
Lang
Engine
Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
1
aspnet-minimal
C#
Kestrel
1,024
147,909
1.15GB/s
✓
2xx: 739,546
3xx: 0
4xx: 0
5xx: 0
4177.6%
302.4MiB
5.32ms
13.00ms
2
FastPySGI-ASGI
Python
libuv
1,024
143,846
1.17GB/s
✓
2xx: 719,234
3xx: 0
4xx: 0
5xx: 0
7012.1%
1.4GiB
6.17ms
32.30ms
3
GenHTTP
C#
GenHTTP
1,024
131,414
1.02GB/s
4
2xx: 657,070
3xx: 0
4xx: 0
5xx: 4
3517.6%
713.4MiB
6.88ms
18.60ms
4
kemal
Crystal
Kemal
1,024
127,762
1013.80MB/s
✓
2xx: 638,813
3xx: 0
4xx: 0
5xx: 0
6170.5%
2.7GiB
7.20ms
40.70ms
5
ktor
Kotlin
Netty
1,024
118,637
936.77MB/s
✓
2xx: 593,185
3xx: 0
4xx: 0
5xx: 0
4073.6%
5.9GiB
7.76ms
15.90ms
6
quarkus-jvm
Java
Netty
1,024
114,973
904.58MB/s
✓
2xx: 574,869
3xx: 0
4xx: 0
5xx: 0
5012.0%
10.5GiB
8.01ms
74.10ms
7
nginx-openresty
Lua
openresty
1,024
114,357
897.66MB/s
✓
2xx: 571,785
3xx: 0
4xx: 0
5xx: 0
6522.2%
4.0GiB
8.03ms
324.80ms
8
Starlette
Python
uvicorn
1,024
111,487
924.31MB/s
✓
2xx: 557,436
3xx: 0
4xx: 0
5xx: 0
7509.9%
5.4GiB
8.24ms
41.00ms
9
ntex-tokio
Rust
Tokio
1,024
110,373
871.55MB/s
✓
2xx: 551,867
3xx: 0
4xx: 0
5xx: 0
4915.6%
178.9MiB
8.40ms
21.60ms
10
node
JS
V8
1,024
108,322
845.34MB/s
✓
2xx: 541,611
3xx: 0
4xx: 0
5xx: 0
4945.0%
4.0GiB
7.25ms
136.20ms
11
spring-jvm-jetty
Java
Jetty
1,024
106,007
839.95MB/s
✓
2xx: 530,039
3xx: 0
4xx: 0
5xx: 0
5255.0%
5.3GiB
7.12ms
179.20ms
12
spring-jvm
Java
Tomcat
1,024
104,821
830.39MB/s
✓
2xx: 524,106
3xx: 0
4xx: 0
5xx: 0
5042.8%
4.1GiB
9.25ms
21.40ms
13
hono (node)
JS
Node
1,024
103,221
808.03MB/s
✓
2xx: 516,105
3xx: 0
4xx: 0
5xx: 0
5271.2%
5.5GiB
7.57ms
144.60ms
14
FastAPI
Python
uvicorn
1,024
102,991
853.66MB/s
✓
2xx: 514,958
3xx: 0
4xx: 0
5xx: 0
7604.4%
9.0GiB
8.94ms
47.60ms
15
Fastify
JS
V8
1,024
102,586
804.13MB/s
✓
2xx: 512,933
3xx: 0
4xx: 0
5xx: 0
5324.7%
5.8GiB
7.84ms
138.00ms
16
salvo
Rust
Salvo
1,024
101,570
794.15MB/s
✓
2xx: 507,851
3xx: 0
4xx: 0
5xx: 0
4452.8%
205.2MiB
8.15ms
117.50ms
17
Koa
JS
V8
1,024
101,069
790.62MB/s
✓
2xx: 505,348
3xx: 0
4xx: 0
5xx: 0
5377.7%
5.8GiB
7.86ms
143.00ms
18
rocket
Rust
rocket
1,024
96,648
759.31MB/s
✓
2xx: 483,244
3xx: 0
4xx: 0
5xx: 0
4658.6%
165.2MiB
9.00ms
121.50ms
19
ultimate-express
JS
uWebSockets
1,024
91,622
715.89MB/s
✓
2xx: 458,113
3xx: 0
4xx: 0
5xx: 0
3106.6%
4.5GiB
8.91ms
239.30ms
20
Hono (Bun)
TS
JSC
1,024
89,896
698.14MB/s
✓
2xx: 449,483
3xx: 0
4xx: 0
5xx: 0
5526.0%
6.1GiB
9.49ms
150.80ms
21
Express
JS
V8
1,024
89,590
707.85MB/s
✓
2xx: 447,954
3xx: 0
4xx: 0
5xx: 0
6836.1%
9.6GiB
9.24ms
158.90ms
22
Elysia
TS
Bun
1,024
89,388
691.40MB/s
✓
2xx: 446,943
3xx: 0
4xx: 0
5xx: 0
4143.5%
7.3GiB
9.12ms
252.70ms
23
actix
Rust
actix
1,024
89,068
689.91MB/s
✓
2xx: 445,343
3xx: 0
4xx: 0
5xx: 0
4381.5%
196.3MiB
10.01ms
120.50ms
24
Sinatra
Ruby
puma
1,024
88,087
692.67MB/s
✓
2xx: 440,437
3xx: 0
4xx: 0
5xx: 0
7526.4%
6.3GiB
10.88ms
40.00ms
25
bun
TS
JSC
1,024
80,514
621.15MB/s
✓
2xx: 402,574
3xx: 0
4xx: 0
5xx: 0
3522.7%
4.8GiB
10.37ms
339.40ms
26
FastPySGI-WSGI
Python
libuv
1,024
76,394
605.55MB/s
✓
2xx: 381,970
3xx: 0
4xx: 0
5xx: 0
6424.5%
1.0GiB
12.63ms
32.60ms
27
ulfius
C
libmicrohttpd
1,024
75,647
666.96MB/s
✓
2xx: 378,239
3xx: 0
4xx: 0
5xx: 0
8839.5%
168.5MiB
5.98ms
18.80ms
28
Rails
Ruby
puma
1,024
68,841
549.78MB/s
✓
2xx: 344,206
3xx: 0
4xx: 0
5xx: 0
8216.0%
9.5GiB
14.15ms
39.90ms
29
drogon
C++
drogon
1,024
65,825
582.37MB/s
✓
2xx: 329,129
3xx: 0
4xx: 0
5xx: 0
8878.5%
112.0MiB
14.82ms
17.70ms
30
deno
TS
V8
1,024
58,287
453.93MB/s
✓
2xx: 291,438
3xx: 0
4xx: 0
5xx: 0
3840.4%
4.2GiB
15.61ms
482.80ms
31
gleam-mist
Gleam
BEAM
1,024
33,178
5.50MB/s
✓
2xx: 165,892
3xx: 0
4xx: 0
5xx: 0
6404.2%
835.7MiB
30.92ms
38.80ms
32
phoenix
Elixir
BEAM
1,024
32,253
256.36MB/s
✓
2xx: 161,266
3xx: 0
4xx: 0
5xx: 0
5276.4%
584.8MiB
31.34ms
36.90ms
33
flask
Python
gunicorn
1,024
32,236
286.39MB/s
✓
2xx: 161,181
3xx: 0
4xx: 0
5xx: 0
3166.6%
8.9GiB
31.52ms
33.00ms
34
go-fasthttp
Go
fasthttp
1,024
30,784
243.05MB/s
✓
2xx: 153,922
3xx: 0
4xx: 0
5xx: 0
5616.6%
358.7MiB
33.19ms
102.10ms
35
Django
Python
gunicorn
1,024
27,712
246.73MB/s
✓
2xx: 138,562
3xx: 0
4xx: 0
5xx: 0
2739.4%
10.2GiB
36.48ms
39.40ms
36
fiber
Go
fiber
1,024
19,196
143.40MB/s
✓
2xx: 95,982
3xx: 0
4xx: 0
5xx: 0
5405.3%
191.6MiB
51.33ms
234.60ms
37
gin
Go
gin
1,024
17,660
131.63MB/s
✓
2xx: 88,304
3xx: 0
4xx: 0
5xx: 0
6471.2%
220.3MiB
55.24ms
244.50ms
38
echo
Go
echo
1,024
17,486
130.44MB/s
✓
2xx: 87,433
3xx: 0
4xx: 0
5xx: 0
6352.1%
283.8MiB
55.98ms
247.50ms
39
chi
Go
chi
1,024
17,324
129.00MB/s
✓
2xx: 86,624
3xx: 0
4xx: 0
5xx: 0
6440.9%
211.1MiB
56.25ms
248.80ms
40
hummingbird
Swift
Hummingbird
1,024
9,456
74.63MB/s
✓
2xx: 47,282
3xx: 0
4xx: 0
5xx: 0
11937.6%
114.8MiB
89.96ms
126.50ms
Filters + (expand)
Lang
(Toggle)
All
C
C#
C++
Go
Java
JS
Lua
Ruby
Rust
TS
Filter
* Engine entries are bare-metal HTTP servers without framework overhead. They are shown for reference but are not directly comparable to full frameworks.
Results
Baseline (HTTP/2)
Static Files (HTTP/2)
Same workload as the HTTP/1.1 baseline —
GET /baseline2 with query parameter parsing — but over encrypted HTTP/2 connections using TLS + ALPN. Benchmarked with h2load instead of gcannon. Measures how efficiently a framework handles HTTP/2 multiplexing and TLS overhead.Type
All
Framework
Engine
Conn
Best
256
1024
Click a row to expand details
#
Framework
Lang
Engine
Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
#
Framework
Lang
Engine
Conn
Req/s
Err
CPU
Mem
Avg Lat
P99
1
h2o
C
h2o
256
14,086,820
349.29MB/s
✓
2xx: 70,434,100
3xx: 0
4xx: 0
5xx: 0
2712.9%
140.0MiB
1.06ms
1.06ms
2
hyper
Rust
hyper
256
8,150,472
209.88MB/s
✓
2xx: 40,752,361
3xx: 0
4xx: 0
5xx: 0
7712.2%
174.7MiB
3.14ms
3.14ms
3
vertx
Java
Netty
256
7,643,560
196.82MB/s
✓
2xx: 38,217,800
3xx: 0
4xx: 0
5xx: 0
8823.7%
11.0GiB
3.01ms
3.01ms
4
drogon
C++
drogon
256
6,725,340
853.03MB/s
✓
2xx: 33,626,700
3xx: 0
4xx: 0
5xx: 0
10136.5%
155.7MiB
4.38ms
4.38ms
5
quarkus-jvm
Java
Netty
256
6,213,500
165.92MB/s
✓
2xx: 31,067,500
3xx: 0
4xx: 0
5xx: 0
9541.3%
10.5GiB
3.85ms
3.85ms
6
h2o-mruby
Ruby
h2o
256
5,664,180
145.86MB/s
✓
2xx: 28,320,900
3xx: 0
4xx: 0
5xx: 0
9518.7%
329.6MiB
4.83ms
4.83ms
7
nginx
C
nginx
256
3,259,534
267.34MB/s
✓
2xx: 16,297,672
3xx: 0
4xx: 0
5xx: 0
6892.2%
3.5GiB
6.88ms
6.88ms
8
actix
Rust
actix
256
3,049,940
104.72MB/s
✓
2xx: 15,249,700
3xx: 0
4xx: 0
5xx: 0
11454.8%
216.1MiB
8.38ms
8.38ms
9
nginx-openresty
Lua
openresty
256
2,287,325
135.25MB/s
✓
2xx: 11,436,627
3xx: 0
4xx: 0
5xx: 0
7365.9%
3.9GiB
11.52ms
11.52ms
10
Fastify
JS
V8
256
1,447,660
44.23MB/s
✓
2xx: 7,247,800
3xx: 0
4xx: 0
5xx: 0
11609.1%
16.0GiB
17.57ms
17.57ms
11
node
JS
V8
256
1,434,200
43.82MB/s
✓
2xx: 7,181,100
3xx: 0
4xx: 0
5xx: 0
11657.3%
12.8GiB
17.59ms
17.59ms
12
salvo
Rust
Salvo
256
1,427,205
38.12MB/s
✓
2xx: 7,136,211
3xx: 0
4xx: 0
5xx: 0
8206.4%
344.9MiB
18.00ms
18.00ms
13
Express
JS
V8
256
1,392,620
42.55MB/s
✓
2xx: 6,973,700
3xx: 0
4xx: 0
5xx: 0
11629.0%
14.4GiB
18.12ms
18.12ms
14
hono (node)
JS
Node
256
1,389,860
42.47MB/s
✓
2xx: 6,959,500
3xx: 0
4xx: 0
5xx: 0
11657.6%
14.2GiB
18.14ms
18.14ms
15
Koa
JS
V8
256
1,389,280
42.45MB/s
✓
2xx: 6,956,900
3xx: 0
4xx: 0
5xx: 0
11455.1%
14.5GiB
18.27ms
18.27ms
16
caddy
Go
caddy
256
582,645
13.91MB/s
✓
2xx: 2,917,543
3xx: 0
4xx: 0
5xx: 0
7869.3%
1.1GiB
43.78ms
43.78ms
17
spring-jvm-jetty
Java
Jetty
256
450,288
12.04MB/s
✓
2xx: 2,251,442
3xx: 0
4xx: 0
5xx: 0
6982.5%
7.7GiB
47.43ms
47.43ms
18
bun
TS
JSC
256
378,032
36.77MB/s
✓
2xx: 3,760,087
3xx: 0
4xx: 0
5xx: 0
7563.6%
2.2GiB
72.87ms
72.87ms
19
rocket
Rust
rocket
256
376,251
14.37MB/s
✓
2xx: 1,881,428
3xx: 0
4xx: 0
5xx: 0
4013.8%
204.3MiB
67.00ms
67.00ms
20
spring-jvm
Java
Tomcat
256
270,357
16.25MB/s
✓
2xx: 1,351,792
3xx: 0
4xx: 0
5xx: 0
4319.9%
15.5GiB
92.78ms
92.78ms
21
aspnet-minimal
C#
Kestrel
256
255,550
6.84MB/s
✓
2xx: 1,277,752
3xx: 0
4xx: 0
5xx: 0
10219.0%
668.0MiB
96.27ms
96.27ms
#
Framework
Lang
Engine
Conn
Req/s
Err
CPU
Mem
Avg Lat
P99
1
h2o
C
h2o
1,024
14,259,800
353.59MB/s
✓
2xx: 71,299,000
3xx: 0
4xx: 0
5xx: 0
2536.1%
197.9MiB
3.74ms
3.74ms
2
hyper
Rust
hyper
1,024
7,211,077
185.72MB/s
✓
2xx: 36,055,386
3xx: 0
4xx: 0
5xx: 0
8157.6%
494.3MiB
12.88ms
12.88ms
3
vertx
Java
Netty
1,024
7,083,840
182.41MB/s
✓
2xx: 35,419,200
3xx: 0
4xx: 0
5xx: 0
8360.0%
11.0GiB
13.15ms
13.15ms
4
drogon
C++
drogon
1,024
6,859,540
870.06MB/s
✓
2xx: 34,297,700
3xx: 0
4xx: 0
5xx: 0
11097.4%
357.0MiB
15.16ms
15.16ms
5
quarkus-jvm
Java
Netty
1,024
5,809,520
155.14MB/s
✓
2xx: 29,047,600
3xx: 0
4xx: 0
5xx: 0
9079.5%
10.6GiB
16.56ms
16.56ms
6
h2o-mruby
Ruby
h2o
1,024
5,712,100
147.12MB/s
✓
2xx: 28,560,500
3xx: 0
4xx: 0
5xx: 0
9740.2%
329.2MiB
17.32ms
17.32ms
7
nginx
C
nginx
1,024
3,391,354
278.15MB/s
✓
2xx: 16,956,772
3xx: 0
4xx: 0
5xx: 0
6922.0%
3.6GiB
22.35ms
22.35ms
8
actix
Rust
actix
1,024
2,910,360
99.96MB/s
✓
2xx: 14,551,800
3xx: 0
4xx: 0
5xx: 0
11220.3%
578.3MiB
33.34ms
33.34ms
9
nginx-openresty
Lua
openresty
1,024
2,360,058
139.55MB/s
✓
2xx: 11,800,290
3xx: 0
4xx: 0
5xx: 0
7529.9%
4.0GiB
37.71ms
37.71ms
10
Express
JS
V8
1,024
1,122,160
34.55MB/s
✓
2xx: 5,673,100
3xx: 0
4xx: 0
5xx: 0
11556.2%
15.8GiB
85.17ms
85.17ms
11
hono (node)
JS
Node
1,024
1,104,640
34.02MB/s
✓
2xx: 5,585,100
3xx: 0
4xx: 0
5xx: 0
11561.3%
15.4GiB
88.21ms
88.21ms
12
node
JS
V8
1,024
1,094,680
33.71MB/s
✓
2xx: 5,534,800
3xx: 0
4xx: 0
5xx: 0
11590.7%
13.9GiB
85.36ms
85.36ms
13
Koa
JS
V8
1,024
1,090,480
33.59MB/s
✓
2xx: 5,517,000
3xx: 0
4xx: 0
5xx: 0
11415.6%
15.6GiB
88.88ms
88.88ms
14
Fastify
JS
V8
1,024
1,067,080
32.87MB/s
✓
2xx: 5,397,100
3xx: 0
4xx: 0
5xx: 0
11370.8%
16.2GiB
90.55ms
90.55ms
15
salvo
Rust
Salvo
1,024
815,329
21.82MB/s
✓
2xx: 4,076,962
3xx: 0
4xx: 0
5xx: 0
8459.0%
934.1MiB
117.79ms
117.79ms
16
bun
TS
JSC
1,024
558,342
54.31MB/s
✓
2xx: 5,553,680
3xx: 0
4xx: 0
5xx: 0
7355.5%
2.1GiB
175.66ms
175.66ms
17
caddy
Go
caddy
1,024
482,758
11.57MB/s
✓
2xx: 2,422,746
3xx: 0
4xx: 0
5xx: 0
6565.1%
2.8GiB
161.80ms
161.80ms
18
rocket
Rust
rocket
1,024
371,113
14.21MB/s
✓
2xx: 1,856,180
3xx: 0
4xx: 0
5xx: 0
4021.7%
643.8MiB
256.66ms
256.66ms
19
spring-jvm
Java
Tomcat
1,024
242,074
14.56MB/s
✓
2xx: 1,210,381
3xx: 0
4xx: 0
5xx: 0
5113.8%
30.7GiB
348.60ms
348.60ms
20
aspnet-minimal
C#
Kestrel
1,024
202,920
5.47MB/s
✓
2xx: 1,014,603
3xx: 0
4xx: 0
5xx: 0
11115.4%
2.3GiB
381.99ms
381.99ms
21
spring-jvm-jetty
Java
Jetty
1,024
0
0
—
0%
0MiB
Results
Baseline (HTTP/2)
Static Files (HTTP/2)
Serves 20 static files of various types and sizes (CSS, JS, HTML, fonts, SVG, WebP, JSON — totaling ~325 KB) over HTTP/2 with TLS. The load generator (
h2load) requests all files using multiplexed streams, simulating a realistic browser page load. Measures static file serving throughput with HTTP/2 multiplexing.Type
All
Framework
Engine
Conn
Best
256
1024
Click a row to expand details
#
Framework
Lang
Engine
Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
#
Framework
Lang
Engine
Conn
Req/s
Err
CPU
Mem
Avg Lat
P99
1
h2o
C
h2o
256
1,894,120
28.75GB/s
✓
2xx: 9,484,237
3xx: 0
4xx: 0
5xx: 0
6782.6%
308.5MiB
13.74ms
13.74ms
2
drogon
C++
drogon
256
1,546,328
23.66GB/s
✓
2xx: 7,731,701
3xx: 0
4xx: 0
5xx: 0
7649.0%
1.2GiB
20.37ms
20.37ms
3
hyper
Rust
hyper
256
1,535,088
23.30GB/s
✓
2xx: 7,677,340
3xx: 0
4xx: 0
5xx: 0
6693.7%
226.8MiB
15.96ms
15.96ms
4
nginx
C
nginx
256
1,460,751
22.27GB/s
✓
2xx: 7,303,811
3xx: 0
4xx: 0
5xx: 0
6763.8%
3.6GiB
16.40ms
16.40ms
5
actix
Rust
actix
256
1,191,015
18.09GB/s
✓
2xx: 5,959,479
3xx: 0
4xx: 0
5xx: 0
7865.9%
634.9MiB
20.93ms
20.93ms
6
h2o-mruby
Ruby
h2o
256
1,038,487
15.74GB/s
✓
2xx: 5,214,163
3xx: 0
4xx: 0
5xx: 0
8374.5%
367.5MiB
25.29ms
25.29ms
7
salvo
Rust
Salvo
256
875,916
13.29GB/s
✓
2xx: 4,382,564
3xx: 0
4xx: 0
5xx: 0
6974.1%
778.3MiB
27.69ms
27.69ms
8
Express
JS
V8
256
651,000
9.92GB/s
✓
2xx: 3,266,000
3xx: 0
4xx: 0
5xx: 0
10509.0%
12.7GiB
39.10ms
39.10ms
9
Fastify
JS
V8
256
641,880
9.78GB/s
✓
2xx: 3,221,000
3xx: 0
4xx: 0
5xx: 0
10503.6%
13.0GiB
39.54ms
39.54ms
10
node
JS
V8
256
637,420
9.71GB/s
✓
2xx: 3,198,800
3xx: 0
4xx: 0
5xx: 0
10559.3%
11.6GiB
39.93ms
39.93ms
11
bun
TS
JSC
256
619,832
9.45GB/s
✓
2xx: 6,155,090
3xx: 0
4xx: 0
5xx: 0
5824.9%
2.3GiB
43.00ms
43.00ms
12
hono (node)
JS
Node
256
610,100
9.30GB/s
✓
2xx: 3,062,900
3xx: 0
4xx: 0
5xx: 0
10679.0%
12.6GiB
41.79ms
41.79ms
13
Koa
JS
V8
256
589,640
8.99GB/s
✓
2xx: 2,959,300
3xx: 0
4xx: 0
5xx: 0
10323.6%
12.5GiB
43.46ms
43.46ms
14
nginx-openresty
Lua
openresty
256
562,749
8.57GB/s
✓
2xx: 2,813,785
3xx: 0
4xx: 0
5xx: 0
7464.7%
3.7GiB
52.06ms
52.06ms
15
vertx
Java
Netty
256
503,298
7.69GB/s
✓
2xx: 2,523,572
3xx: 0
4xx: 0
5xx: 0
8826.5%
11.2GiB
49.82ms
49.82ms
16
quarkus-jvm
Java
Netty
256
474,550
7.25GB/s
✓
2xx: 2,379,280
3xx: 0
4xx: 0
5xx: 0
9053.5%
10.8GiB
53.37ms
53.37ms
17
caddy
Go
caddy
256
394,197
5.99GB/s
✓
2xx: 1,981,582
3xx: 0
4xx: 0
5xx: 0
7688.1%
1.5GiB
64.43ms
64.43ms
18
spring-jvm-jetty
Java
Jetty
256
260,933
3.96GB/s
✓
2xx: 1,304,697
3xx: 0
4xx: 0
5xx: 0
5171.3%
5.0GiB
62.14ms
62.14ms
19
spring-jvm
Java
Tomcat
256
212,858
3.24GB/s
✓
2xx: 1,064,365
3xx: 0
4xx: 0
5xx: 0
5415.0%
14.5GiB
118.03ms
118.03ms
20
rocket
Rust
rocket
256
125,245
1.90GB/s
✓
2xx: 644,048
3xx: 0
4xx: 0
5xx: 0
2520.6%
1.3GiB
195.43ms
195.43ms
21
aspnet-minimal
C#
Kestrel
256
45,666
735.85MB/s
✓
2xx: 237,387
3xx: 0
4xx: 0
5xx: 0
11120.1%
1.3GiB
504.32ms
504.32ms
#
Framework
Lang
Engine
Conn
Req/s
Err
CPU
Mem
Avg Lat
P99
1
nginx
C
nginx
1,024
1,796,928
27.39GB/s
✓
2xx: 8,984,719
3xx: 0
4xx: 0
5xx: 0
5791.2%
4.3GiB
40.34ms
40.34ms
2
hyper
Rust
hyper
1,024
1,656,507
25.14GB/s
✓
2xx: 8,288,023
3xx: 0
4xx: 0
5xx: 0
6342.0%
839.1MiB
45.66ms
45.66ms
3
h2o
C
h2o
1,024
1,492,730
22.64GB/s
✓
2xx: 7,498,837
3xx: 0
4xx: 0
5xx: 0
7089.1%
919.7MiB
50.97ms
50.97ms
4
h2o-mruby
Ruby
h2o
1,024
1,409,680
21.32GB/s
✓
2xx: 7,119,182
3xx: 0
4xx: 0
5xx: 0
7544.2%
1013.0MiB
63.28ms
63.28ms
5
drogon
C++
drogon
1,024
1,018,221
15.57GB/s
✓
2xx: 5,091,211
3xx: 0
4xx: 0
5xx: 0
7963.6%
3.1GiB
92.74ms
92.74ms
6
actix
Rust
actix
1,024
946,470
14.38GB/s
✓
2xx: 4,739,366
3xx: 0
4xx: 0
5xx: 0
8501.4%
1.8GiB
97.58ms
97.58ms
7
bun
TS
JSC
1,024
746,381
11.37GB/s
✓
2xx: 7,421,716
3xx: 0
4xx: 0
5xx: 0
5478.7%
3.1GiB
133.08ms
133.08ms
8
salvo
Rust
Salvo
1,024
589,230
8.93GB/s
✓
2xx: 2,959,621
3xx: 0
4xx: 0
5xx: 0
6379.7%
1.8GiB
164.24ms
164.24ms
9
nginx-openresty
Lua
openresty
1,024
567,449
8.64GB/s
✓
2xx: 2,837,294
3xx: 0
4xx: 0
5xx: 0
7649.8%
3.8GiB
167.81ms
167.81ms
10
hono (node)
JS
Node
1,024
533,360
8.30GB/s
✓
2xx: 2,734,600
3xx: 0
4xx: 0
5xx: 0
10744.0%
14.6GiB
173.65ms
173.65ms
11
Koa
JS
V8
1,024
532,660
8.29GB/s
✓
2xx: 2,729,700
3xx: 0
4xx: 0
5xx: 0
10502.3%
14.2GiB
171.05ms
171.05ms
12
Express
JS
V8
1,024
532,500
8.29GB/s
✓
2xx: 2,730,100
3xx: 0
4xx: 0
5xx: 0
10699.0%
14.8GiB
176.20ms
176.20ms
13
node
JS
V8
1,024
531,200
8.27GB/s
✓
2xx: 2,722,800
3xx: 0
4xx: 0
5xx: 0
10819.6%
13.8GiB
172.74ms
172.74ms
14
Fastify
JS
V8
1,024
523,520
8.15GB/s
✓
2xx: 2,683,000
3xx: 0
4xx: 0
5xx: 0
10738.3%
15.3GiB
181.83ms
181.83ms
15
vertx
Java
Netty
1,024
473,016
7.22GB/s
✓
2xx: 2,374,749
3xx: 0
4xx: 0
5xx: 0
8819.6%
11.9GiB
202.58ms
202.58ms
16
quarkus-jvm
Java
Netty
1,024
446,123
6.81GB/s
✓
2xx: 2,240,034
3xx: 0
4xx: 0
5xx: 0
8924.4%
11.5GiB
213.82ms
213.82ms
17
caddy
Go
caddy
1,024
357,343
5.43GB/s
✓
2xx: 1,802,666
3xx: 0
4xx: 0
5xx: 0
6223.6%
3.5GiB
257.50ms
257.50ms
18
spring-jvm
Java
Tomcat
1,024
167,832
2.55GB/s
✓
2xx: 839,189
3xx: 0
4xx: 0
5xx: 0
5743.0%
30.6GiB
509.66ms
509.66ms
19
rocket
Rust
rocket
1,024
126,083
1.87GB/s
✓
2xx: 703,029
3xx: 0
4xx: 0
5xx: 0
2798.7%
4.1GiB
650.46ms
650.46ms
20
aspnet-minimal
C#
Kestrel
1,024
35,763
658.70MB/s
✓
2xx: 216,353
3xx: 0
4xx: 0
5xx: 0
12032.7%
3.4GiB
996.76ms
996.76ms
21
spring-jvm-jetty
Java
Jetty
1,024
0
0
—
0%
0MiB
⚠️Experimental: HTTP/3 benchmarks use oha as the load generator, which has known limitations with QUIC — including performance issues in headless mode and inability to fully saturate high-performance servers. These results are useful for relative comparison between frameworks but may not reflect true peak throughput. We'll update these benchmarks as better HTTP/3 load generators become available.
Filters + (expand)
Lang
(Toggle)
All
C
C#
Go
Ruby
Rust
Filter
* Engine entries are bare-metal HTTP servers without framework overhead. They are shown for reference but are not directly comparable to full frameworks.
Results
Baseline (HTTP/3)
Static Files (HTTP/3)
Same workload as the HTTP/1.1 baseline —
GET /baseline2 with query parameter parsing — but over HTTP/3 (QUIC) with TLS 1.3. Benchmarked with oha using 128 parallel streams per connection. Measures how efficiently a framework handles HTTP/3 over UDP-based QUIC transport.Type
All
Framework
Engine
Conn
Best
256
512
Click a row to expand details
#
Framework
Lang
Engine
Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
#
Framework
Lang
Engine
Conn
Req/s
Err
CPU
Mem
Avg Lat
P99
1
nginx
C
nginx
256
538,781
0.51MB/s
✓
2xx: 2,693,548
3xx: 0
4xx: 0
5xx: 0
1405.9%
3.8GiB
10.08ms
31.73ms
2
h2o-mruby
Ruby
h2o
256
529,797
0.50MB/s
✓
2xx: 2,650,193
3xx: 0
4xx: 0
5xx: 0
1815.9%
325.9MiB
10.34ms
32.54ms
3
salvo
Rust
Salvo
256
382,994
0.36MB/s
✓
2xx: 2,093,406
3xx: 0
4xx: 0
5xx: 0
4059.8%
94.6MiB
10.82ms
145.17ms
4
aspnet-minimal
C#
Kestrel
256
289,141
0.27MB/s
✓
2xx: 1,445,651
3xx: 0
4xx: 0
5xx: 0
8295.7%
2.6GiB
26.98ms
142.21ms
5
caddy
Go
caddy
256
197,030
0.19MB/s
✓
2xx: 986,066
3xx: 0
4xx: 0
5xx: 0
1958.7%
910.5MiB
40.95ms
155.69ms
#
Framework
Lang
Engine
Conn
Req/s
Err
CPU
Mem
Avg Lat
P99
1
h2o-mruby
Ruby
h2o
512
500,199
0.47MB/s
✓
2xx: 2,501,160
3xx: 0
4xx: 0
5xx: 0
1939.4%
365.0MiB
18.27ms
52.77ms
2
nginx
C
nginx
512
498,559
0.47MB/s
✓
2xx: 2,492,571
3xx: 0
4xx: 0
5xx: 0
1535.6%
3.9GiB
18.02ms
56.61ms
3
aspnet-minimal
C#
Kestrel
512
266,499
0.25MB/s
✓
2xx: 1,336,881
3xx: 0
4xx: 0
5xx: 0
8161.8%
3.4GiB
55.12ms
228.70ms
4
salvo
Rust
Salvo
512
221,142
0.21MB/s
✓
2xx: 2,016,594
3xx: 0
4xx: 0
5xx: 0
2936.7%
89.6MiB
8.20ms
113.18ms
5
caddy
Go
caddy
512
194,203
0.18MB/s
✓
2xx: 970,966
3xx: 0
4xx: 0
5xx: 0
2378.2%
1.6GiB
83.01ms
313.27ms
6
h2o
C
h2o
512
0
0
—
0%
0MiB
—
—
Results
Baseline (HTTP/3)
Static Files (HTTP/3)
Serves 20 static files of various types and sizes (CSS, JS, HTML, fonts, SVG, WebP, JSON — totaling ~325 KB) over HTTP/3 (QUIC) with TLS 1.3. The load generator (
oha) requests all files using 128 parallel streams per connection, simulating a realistic browser page load over QUIC.Type
All
Framework
Engine
Conn
Best
256
512
Click a row to expand details
#
Framework
Lang
Engine
Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
#
Framework
Lang
Engine
Conn
Req/s
Err
CPU
Mem
Avg Lat
P99
1
h2o-mruby
Ruby
h2o
256
441,311
6815.26MB/s
✓
2xx: 2,206,941
3xx: 0
4xx: 0
5xx: 0
2931.4%
467.4MiB
14.38ms
47.34ms
2
nginx
C
nginx
256
203,551
3127.01MB/s
✓
2xx: 1,019,555
3xx: 0
4xx: 0
5xx: 0
8916.2%
4.0GiB
39.74ms
126.79ms
3
aspnet-minimal
C#
Kestrel
256
66,478
1008.74MB/s
✓
2xx: 332,193
3xx: 0
4xx: 0
5xx: 0
7531.5%
2.4GiB
116.96ms
648.77ms
4
caddy
Go
caddy
256
21,287
304.78MB/s
✓
2xx: 105,706
3xx: 0
4xx: 0
5xx: 0
11864.7%
4.3GiB
393.87ms
1970.08ms
#
Framework
Lang
Engine
Conn
Req/s
Err
CPU
Mem
Avg Lat
P99
1
h2o-mruby
Ruby
h2o
512
415,564
6398.91MB/s
✓
2xx: 2,079,144
3xx: 0
4xx: 0
5xx: 0
3508.9%
642.5MiB
31.89ms
89.76ms
2
nginx
C
nginx
512
188,469
2871.42MB/s
✓
2xx: 947,117
3xx: 0
4xx: 0
5xx: 0
9300.9%
4.3GiB
85.37ms
271.68ms
3
aspnet-minimal
C#
Kestrel
512
60,044
882.05MB/s
✓
2xx: 299,144
3xx: 0
4xx: 0
5xx: 0
7735.3%
3.0GiB
257.14ms
1336.94ms
4
caddy
Go
caddy
512
15,752
203.66MB/s
✓
2xx: 78,797
3xx: 0
4xx: 0
5xx: 0
12491.7%
5.9GiB
1130.83ms
5126.51ms
5
h2o
C
h2o
512
0
0
—
0%
0MiB
—
—
Filters + (expand)
Lang
(Toggle)
All
C#
Go
Java
Rust
Filter
* Engine entries are bare-metal HTTP servers without framework overhead. They are shown for reference but are not directly comparable to full frameworks.
Results
Unary (h2c)
Unary (TLS)
Unary gRPC call (
BenchmarkService/GetSum) over cleartext HTTP/2 (h2c). Measures raw gRPC transport performance without TLS overhead. Benchmarked with h2load.Type
All
Framework
Engine
Conn
Best
256
1024
Click a row to expand details
#
Framework
Lang
Engine
Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
#
Framework
Lang
Engine
Conn
Req/s
Err
CPU
Mem
Avg Lat
P99
1
quarkus-jvm-grpc
Java
Vert.x (gRPC)
256
3,133,400
143.45MB/s
✓
2xx: 15,667,000
3xx: 0
4xx: 0
5xx: 0
9014.7%
10.6GiB
7.98ms
7.98ms
2
aspnet-grpc
C#
Kestrel
256
2,507,054
93.26MB/s
✓
2xx: 12,535,273
3xx: 0
4xx: 0
5xx: 0
7759.9%
1.1GiB
10.21ms
10.21ms
3
tonic-grpc
Rust
Tonic
256
978,680
35.48MB/s
✓
2xx: 4,893,465
3xx: 0
4xx: 0
5xx: 0
9513.1%
315.2MiB
25.77ms
25.77ms
4
grpc-go
Go
grpc-go
256
515,656
18.94MB/s
✓
2xx: 2,578,409
3xx: 0
4xx: 0
5xx: 0
7183.1%
327.8MiB
49.67ms
49.67ms
5
spring-jvm-grpc
Java
Netty (gRPC)
256
233,453
8.69MB/s
✓
2xx: 1,167,298
3xx: 0
4xx: 0
5xx: 0
12068.5%
3.5GiB
110.64ms
110.64ms
#
Framework
Lang
Engine
Conn
Req/s
Err
CPU
Mem
Avg Lat
P99
1
quarkus-jvm-grpc
Java
Vert.x (gRPC)
1,024
3,086,360
141.31MB/s
✓
2xx: 15,431,800
3xx: 0
4xx: 0
5xx: 0
8786.4%
10.6GiB
31.59ms
31.59ms
2
aspnet-grpc
C#
Kestrel
1,024
2,532,011
94.22MB/s
✓
2xx: 12,660,055
3xx: 0
4xx: 0
5xx: 0
7938.7%
2.6GiB
39.56ms
39.56ms
3
grpc-go
Go
grpc-go
1,024
634,842
23.33MB/s
✓
2xx: 3,175,126
3xx: 0
4xx: 0
5xx: 0
7649.6%
949.3MiB
129.63ms
129.63ms
4
tonic-grpc
Rust
Tonic
1,024
523,505
19.01MB/s
✓
2xx: 2,617,851
3xx: 0
4xx: 0
5xx: 0
9265.2%
815.9MiB
143.75ms
143.75ms
5
spring-jvm-grpc
Java
Netty (gRPC)
1,024
190,090
7.10MB/s
✓
2xx: 950,477
3xx: 0
4xx: 0
5xx: 0
11883.4%
7.0GiB
493.52ms
493.52ms
Results
Unary (h2c)
Unary (TLS)
Same unary gRPC call over encrypted HTTP/2 with TLS 1.3. Measures gRPC performance with real-world TLS encryption. Benchmarked with
h2load.Type
All
Framework
Engine
Conn
Best
256
1024
Click a row to expand details
#
Framework
Lang
Engine
Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
#
Framework
Lang
Engine
Conn
Req/s
Err
CPU
Mem
Avg Lat
P99
1
quarkus-jvm-grpc
Java
Vert.x (gRPC)
256
2,967,940
135.88MB/s
✓
2xx: 14,839,700
3xx: 0
4xx: 0
5xx: 0
8967.3%
10.6GiB
8.45ms
8.45ms
2
tonic-grpc
Rust
Tonic
256
1,006,053
36.47MB/s
✓
2xx: 5,030,379
3xx: 0
4xx: 0
5xx: 0
9445.1%
363.2MiB
22.68ms
22.68ms
3
grpc-go
Go
grpc-go
256
525,073
19.29MB/s
✓
2xx: 2,625,462
3xx: 0
4xx: 0
5xx: 0
7446.5%
337.5MiB
48.90ms
48.90ms
4
aspnet-grpc
C#
Kestrel
256
235,459
8.77MB/s
✓
2xx: 1,177,296
3xx: 0
4xx: 0
5xx: 0
11161.8%
888.5MiB
104.27ms
104.27ms
5
spring-jvm-grpc
Java
Netty (gRPC)
256
195,598
7.28MB/s
✓
2xx: 978,019
3xx: 0
4xx: 0
5xx: 0
12000.3%
2.7GiB
125.04ms
125.04ms
#
Framework
Lang
Engine
Conn
Req/s
Err
CPU
Mem
Avg Lat
P99
1
quarkus-jvm-grpc
Java
Vert.x (gRPC)
1,024
2,848,340
130.41MB/s
✓
2xx: 14,241,700
3xx: 0
4xx: 0
5xx: 0
8684.4%
10.6GiB
33.77ms
33.77ms
2
grpc-go
Go
grpc-go
1,024
660,803
24.28MB/s
✓
2xx: 3,304,918
3xx: 0
4xx: 0
5xx: 0
7533.4%
923.0MiB
123.40ms
123.40ms
3
aspnet-grpc
C#
Kestrel
1,024
188,014
7.04MB/s
✓
2xx: 940,073
3xx: 0
4xx: 0
5xx: 0
9146.8%
505.7MiB
447.53ms
447.53ms
4
spring-jvm-grpc
Java
Netty (gRPC)
1,024
187,929
7.02MB/s
✓
2xx: 939,670
3xx: 0
4xx: 0
5xx: 0
11538.9%
4.5GiB
334.24ms
334.24ms
5
tonic-grpc
Rust
Tonic
1,024
0
0
—
0%
0MiB
Filters + (expand)
Lang
(Toggle)
All
C#
Go
JS
PHP
Rust
TS
Zig
Filter
* Engine entries are bare-metal HTTP servers without framework overhead. They are shown for reference but are not directly comparable to full frameworks.
Results
Echo (WebSocket)
WebSocket echo test — upgrade to WebSocket on
/ws, then send one message at a time and wait for the echo before sending the next. Measures single-message round-trip throughput. Benchmarked with gcannon --ws -p 1.Type
All
Framework
Engine
Conn
Best
512
4096
16384
Click a row to expand details
#
Framework
Lang
Engine
Conn
Req/s
BW
Err
CPU
Mem
Avg Lat
P99
#
Framework
Lang
Engine
Conn
Req/s
Err
CPU
Mem
Avg Lat
P99
1
blitz
Zig
io_uring
512
2,897,483
19.33MB/s
✓
2xx: 14,487,417
3xx: 0
4xx: 0
5xx: 0
6754.1%
4.4GiB
176us
966us
2
actix-websocket
Rust
Actix
512
2,764,556
18.45MB/s
✓
2xx: 13,822,783
3xx: 0
4xx: 0
5xx: 0
6912.8%
65.4MiB
184us
978us
3
workerman-websocket
PHP
Workerman
512
2,737,835
18.26MB/s
✓
2xx: 13,689,176
3xx: 0
4xx: 0
5xx: 0
6487.3%
206.8MiB
186us
1.40ms
4
bun-websocket
TS
Bun
512
2,696,560
17.99MB/s
✓
2xx: 13,482,803
3xx: 0
4xx: 0
5xx: 0
6425.5%
1.1GiB
189us
1.42ms
5
GenHTTP-WS
C#
GenHTTP
512
2,003,883
13.37MB/s
✓
2xx: 10,019,416
3xx: 0
4xx: 0
5xx: 0
5936.0%
308.8MiB
254us
1.61ms
6
aspnet-websocket
C#
Kestrel
512
1,876,208
12.52MB/s
✓
2xx: 9,381,044
3xx: 0
4xx: 0
5xx: 0
7127.8%
170.3MiB
272us
2.14ms
7
node-websocket
JS
V8
512
1,800,281
12.02MB/s
✓
2xx: 9,001,407
3xx: 0
4xx: 0
5xx: 0
7241.7%
2.2GiB
283us
1.59ms
8
deno-websocket
TS
Deno
512
1,669,662
11.15MB/s
✓
2xx: 8,348,311
3xx: 0
4xx: 0
5xx: 0
5686.0%
3.0GiB
305us
6.32ms
9
go-websocket
Go
net/http
512
859,464
5.74MB/s
✓
2xx: 4,297,320
3xx: 0
4xx: 0
5xx: 0
6292.3%
163.1MiB
524us
5.18ms
#
Framework
Lang
Engine
Conn
Req/s
Err
CPU
Mem
Avg Lat
P99
1
workerman-websocket
PHP
Workerman
4,096
3,257,342
21.77MB/s
✓
2xx: 16,286,712
3xx: 0
4xx: 0
5xx: 0
6578.4%
249.1MiB
1.25ms
7.39ms
2
blitz
Zig
io_uring
4,096
3,225,403
21.56MB/s
✓
2xx: 16,127,018
3xx: 0
4xx: 0
5xx: 0
6931.8%
4.4GiB
1.27ms
8.46ms
3
actix-websocket
Rust
Actix
4,096
3,210,189
21.54MB/s
✓
2xx: 16,050,946
3xx: 0
4xx: 0
5xx: 0
6740.6%
186.8MiB
1.09ms
8.69ms
4
bun-websocket
TS
Bun
4,096
2,927,236
19.54MB/s
✓
2xx: 14,636,180
3xx: 0
4xx: 0
5xx: 0
6004.1%
1.1GiB
1.40ms
6.34ms
5
deno-websocket
TS
Deno
4,096
2,529,764
17.00MB/s
✓
2xx: 12,648,823
3xx: 0
4xx: 0
5xx: 0
6974.1%
4.3GiB
1.56ms
12.30ms
6
node-websocket
JS
V8
4,096
2,243,836
15.07MB/s
✓
2xx: 11,219,180
3xx: 0
4xx: 0
5xx: 0
7597.5%
2.7GiB
1.29ms
8.83ms
7
aspnet-websocket
C#
Kestrel
4,096
2,003,364
13.43MB/s
✓
2xx: 10,016,823
3xx: 0
4xx: 0
5xx: 0
7335.1%
333.6MiB
1.05ms
6.01ms
8
GenHTTP-WS
C#
GenHTTP
4,096
2,002,162
13.50MB/s
✓
2xx: 10,010,813
3xx: 0
4xx: 0
5xx: 0
6362.9%
672.5MiB
1.87ms
8.93ms
9
go-websocket
Go
net/http
4,096
1,007,990
6.82MB/s
✓
2xx: 5,039,952
3xx: 0
4xx: 0
5xx: 0
6869.7%
312.4MiB
3.56ms
62.80ms
#
Framework
Lang
Engine
Conn
Req/s
Err
CPU
Mem
Avg Lat
P99
1
workerman-websocket
PHP
Workerman
16,384
2,992,616
20.48MB/s
✓
2xx: 15,052,863
3xx: 0
4xx: 0
5xx: 0
6412.3%
368.7MiB
5.33ms
23.90ms
2
bun-websocket
TS
Bun
16,384
2,967,867
20.30MB/s
✓
2xx: 14,839,336
3xx: 0
4xx: 0
5xx: 0
6438.0%
1.3GiB
5.33ms
29.60ms
3
actix-websocket
Rust
Actix
16,384
2,914,734
19.82MB/s
✓
2xx: 14,573,674
3xx: 0
4xx: 0
5xx: 0
6113.3%
372.9MiB
3.15ms
28.20ms
4
blitz
Zig
io_uring
16,384
2,903,977
19.75MB/s
✓
2xx: 14,519,885
3xx: 0
4xx: 0
5xx: 0
6511.7%
4.5GiB
5.09ms
20.80ms
5
deno-websocket
TS
Deno
16,384
2,085,282
14.42MB/s
✓
2xx: 10,447,264
3xx: 0
4xx: 0
5xx: 0
6917.2%
5.6GiB
6.50ms
41.80ms
6
node-websocket
JS
V8
16,384
2,041,606
13.90MB/s
✓
2xx: 10,208,030
3xx: 0
4xx: 0
5xx: 0
7859.0%
2.8GiB
4.77ms
26.80ms
7
GenHTTP-WS
C#
GenHTTP
16,384
1,983,265
13.73MB/s
✓
2xx: 9,936,158
3xx: 0
4xx: 0
5xx: 0
6689.9%
2.5GiB
5.46ms
22.00ms
8
aspnet-websocket
C#
Kestrel
16,384
1,699,397
11.65MB/s
✓
2xx: 8,496,988
3xx: 0
4xx: 0
5xx: 0
6505.8%
708.1MiB
4.32ms
14.70ms
9
go-websocket
Go
net/http
16,384
952,907
6.64MB/s
✓
2xx: 4,764,537
3xx: 0
4xx: 0
5xx: 0
6803.5%
486.5MiB
8.60ms
81.00ms
⚠️Note: Showing framework entries — production-grade HTTP libraries. Use the type filter to switch to engine-level implementations.
Composite Score
Overall ranking using the average of normalized scores across scored test profiles. Each profile is normalized so the top framework scores 100. Frameworks missing a profile receive 0 for that profile, lowering their composite score proportionally.
Optionally factor in CPU and memory efficiency — measured as throughput per unit of resource (req/s per CPU%, req/s per MB).
Columns marked with (*) are shown for reference only and do not count toward the composite score.
Learn more →
Type
Framework
Engine
Protocol
HTTP/1.1
HTTP/2
HTTP/3
gRPC
WebSocket
Tests
(Toggle)
All
Baseline
Pipelined
Short-lived
JSON
Upload
Compression
Noisy
Mixed
Baseline
Static
Unary
Unary TLS
Baseline
Static
Echo
Async DB
Resource factors
CPU efficiency (1x weight)
Memory efficiency (0.5x weight)