You need to enable JavaScript to run this app.
Web Frameworks Benchmark
Home
Benchmark Results
Compare Frameworks
GitHub
Latest — 2024-12-31 (77d91a9)
Benchmark Result
elixir (1.17)
fsharp (8)
go (1.23)
java (21)
javascript (ES2019)
kotlin (2.1)
python (3.11)
ruby (3.4)
Select Frameworks...
Requests / Second
Language
▲
Framework
▲
▲
Requests / Second (64)
▲
Requests / Second (256)
▲
Requests / Second (512)
go (1.23)
web
(0)
527 162
548 785
554 354
javascript (ES2019)
uwebsockets
(20.49)
520 487
603 752
629 767
javascript (ES2019)
sifrr
(0)
512 559
597 280
621 288
java (21)
activej
(5.5)
503 554
570 658
586 190
javascript (ES2019)
mesh
(0.6)
498 954
576 501
597 250
go (1.23)
gearbox
(1.2)
490 185
523 973
531 247
java (21)
vertx
(4.5)
488 298
554 444
569 117
kotlin (2.1)
jooby
(3.5)
484 170
549 850
565 458
javascript (ES2019)
elysia
(1.1)
483 890
556 033
572 578
javascript (ES2019)
routejs-uwebsocket
(3)
481 856
547 773
565 459
java (21)
rapidoid
(5.5)
479 680
538 997
553 237
java (21)
jooby
(3.5)
479 438
550 170
566 284
java (21)
vertx4web
(4.5)
473 360
533 807
544 145
javascript (ES2019)
hyper-express
(6.17)
472 292
534 078
548 472
go (1.23)
fasthttp
(1.58)
464 620
513 051
514 533
go (1.23)
gorouter-fasthttp
(4.4)
461 520
499 476
501 929
go (1.23)
router
(1.5)
461 329
502 209
502 401
javascript (ES2019)
stricjs
(5)
458 839
528 408
545 657
go (1.23)
fiber
(2.52)
458 833
511 013
509 459
go (1.23)
atreugo
(11.13)
458 369
502 648
507 204
java (21)
undertow
(2.3)
442 680
507 912
522 607
javascript (ES2019)
0http-bun
(1)
442 251
502 657
516 835
java (21)
quarkus
(3.17)
431 226
475 143
481 176
javascript (ES2019)
hono-bun
(4.6)
402 247
450 382
455 942
kotlin (2.1)
hexagon-netty-epoll
(3.7)
398 436
446 385
450 681
java (21)
light-4j
(2.1)
391 797
484 803
510 479
javascript (ES2019)
bunicorn
(0)
384 581
427 929
433 040
kotlin (2.1)
hexagon-netty
(3.7)
380 570
429 422
435 406
java (21)
restheart
(8.1)
369 990
409 222
413 261
go (1.23)
hertz
(0.9)
361 566
438 828
449 963
javascript (ES2019)
low-http-server
(4.2)
357 341
377 065
383 789
fsharp (8)
frank
(6.2)
355 761
420 676
421 007
fsharp (8)
falco
(3.1)
352 166
422 365
423 918
fsharp (8)
giraffe-endpoints
(6)
349 578
418 656
419 370
go (1.23)
rte
(0)
349 496
357 124
363 770
go (1.23)
apirouter
(1)
348 568
357 310
362 816
go (1.23)
clevergo
(0.6)
348 152
358 231
364 493
go (1.23)
bunrouter
(1)
347 992
355 483
362 033
go (1.23)
r2
(0.3)
346 955
353 618
360 798
go (1.23)
echo
(4.13)
346 217
354 952
362 315
go (1.23)
httprouter
(1.3)
345 585
352 249
359 253
go (1.23)
nethttp
(1.22)
343 779
350 444
357 222
go (1.23)
gin
(1.10)
332 406
359 419
360 668
fsharp (8)
giraffe
(6)
325 423
385 543
382 998
go (1.23)
aero
(1.3)
324 880
336 270
341 971
javascript (ES2019)
blaze-bun
(4.4)
324 609
352 605
352 264
go (1.23)
kami
(2.2)
324 110
339 260
338 801
go (1.23)
chi
(5.2)
324 011
333 076
342 125
go (1.23)
gorouter
(4.5)
322 374
353 719
357 616
java (21)
helidon-se
(4.1)
320 450
380 395
391 658
go (1.23)
poteto
(0.26)
317 003
325 599
335 334
go (1.23)
webgo
(7)
316 630
326 022
332 315
go (1.23)
violetear
(7)
313 714
324 800
331 677
go (1.23)
goroute
(0)
310 577
317 984
328 684
java (21)
micronaut
(4.2)
309 867
346 930
350 495
go (1.23)
goframe
(2.7)
307 433
338 969
340 561
go (1.23)
gorilla-mux
(1.8)
307 006
312 913
323 522
fsharp (8)
saturn
(0.14)
302 402
318 764
306 786
go (1.23)
go-zero
(1.7)
288 770
319 903
324 424
go (1.23)
goyave
(5.5)
283 245
318 267
322 754
java (21)
javalin
(6.3)
278 518
307 437
309 205
fsharp (8)
websharper
(6.1)
276 726
308 406
299 852
javascript (ES2019)
ditsmod-bun
(3)
275 661
298 660
300 784
java (21)
armeria
(1.31)
273 151
294 644
293 547
go (1.23)
flamego
(1.9)
267 910
282 085
293 370
javascript (ES2019)
fastify-bun
(5.2)
264 740
284 211
285 445
go (1.23)
beego
(2.3)
262 604
310 733
317 609
javascript (ES2019)
nhttp
(1.3)
262 526
274 361
273 537
javascript (ES2019)
polkadot
(1)
260 592
271 754
272 968
javascript (ES2019)
0http
(3.5)
260 422
269 950
271 207
go (1.23)
air
(0.22)
256 366
284 001
291 581
go (1.23)
aurora
(1.3)
246 690
276 421
286 138
javascript (ES2019)
restana
(4.9)
246 687
259 958
257 343
javascript (ES2019)
rayo
(1.4)
244 668
251 332
248 692
javascript (ES2019)
polka
(0.5)
240 674
244 450
243 651
javascript (ES2019)
express-bun
(4.21)
240 295
254 483
256 155
ruby (3.4)
agoo
(2.15)
240 226
338 268
369 831
javascript (ES2019)
routejs
(3)
239 159
241 532
240 540
ruby (3.4)
rage
(1.10)
238 616
242 779
244 527
kotlin (2.1)
ktor
(3)
236 754
289 007
287 560
elixir (1.17)
cowboy_stream
(2.12)
233 548
245 194
239 207
javascript (ES2019)
h3
(1.13)
231 632
244 038
241 381
javascript (ES2019)
ditsmod
(3)
229 269
237 293
231 877
javascript (ES2019)
fastify
(5.2)
227 245
230 216
229 378
java (21)
spring-webflux
(3.4)
226 992
234 799
232 886
javascript (ES2019)
adonisjs6-http
(7)
223 644
224 912
224 195
javascript (ES2019)
hono
(4.6)
223 427
224 489
222 856
python (3.11)
sanic
(24.6)
221 965
223 692
219 475
javascript (ES2019)
durian.js-fastify
(1.2)
221 099
234 993
236 849
python (3.11)
apidaora
(0.28)
220 970
229 908
231 651
javascript (ES2019)
pxe
(1)
216 485
227 171
224 380
javascript (ES2019)
muneem
(2.4)
212 534
217 255
215 768
javascript (ES2019)
foxify
(0.1)
211 555
211 748
212 726
python (3.11)
asgineer
(0.8)
209 359
219 066
218 676
kotlin (2.1)
hexagon-jetty
(3.7)
205 374
234 085
234 726
java (21)
spark
(2.9)
198 352
219 235
225 613
elixir (1.17)
plug_bandit
(1.16)
196 126
198 439
196 989
go (1.23)
stgin
(1.1)
196 072
237 337
244 821
javascript (ES2019)
nestjs-fastify
(10.4)
195 249
197 657
195 447
python (3.11)
blacksheep
(2)
194 261
202 393
202 077
elixir (1.17)
phoenix_bandit
(1.7)
193 957
196 588
195 408
javascript (ES2019)
iotjs-express
(0)
193 253
198 250
196 479
javascript (ES2019)
fyrejet
(4)
193 011
198 001
192 130
javascript (ES2019)
chubbyts-uwebsockets
(1.9)
191 653
196 807
196 460
python (3.11)
panther
(4.3)
185 141
191 301
188 214
python (3.11)
baize-asgi
(0.20)
184 060
192 327
192 348
go (1.23)
mars
(1.1)
183 541
220 093
229 858
python (3.11)
starlette
(0.45)
181 910
189 463
189 208
javascript (ES2019)
koa
(2.15)
180 596
184 647
182 354
javascript (ES2019)
durian.js
(1.2)
177 829
188 753
190 580
javascript (ES2019)
blaze-node
(4.4)
176 875
178 461
176 349
kotlin (2.1)
http4k
(5.42)
173 575
197 519
199 587
python (3.11)
index.py
(0.21)
173 357
173 497
170 747
java (21)
spring
(3.4)
171 798
179 837
150 583
elixir (1.17)
cowboy
(2.12)
167 299
170 705
166 419
kotlin (2.1)
spring
(3.4)
166 745
166 356
137 657
javascript (ES2019)
adonisjs6-slim
(6.2)
165 869
171 418
168 341
javascript (ES2019)
moleculer
(0.14)
158 597
164 045
160 481
python (3.11)
emmett
(2.6)
153 107
194 650
207 869
elixir (1.17)
plug_cowboy
(1.16)
149 227
150 544
145 599
javascript (ES2019)
hapi
(21.3)
147 303
151 307
149 137
elixir (1.17)
phoenix_cowboy
(1.7)
145 672
146 042
141 221
javascript (ES2019)
vixeny-deno
(0.1)
145 551
145 215
140 602
java (21)
jersey-grizzly2
(2.46)
144 941
153 237
143 897
javascript (ES2019)
restify
(11.1)
144 502
146 362
140 207
java (21)
jersey3-grizzly2
(3.1)
143 891
152 839
142 572
python (3.11)
litestar
(2.13)
143 758
149 050
147 131
javascript (ES2019)
hono-deno
(4.6)
140 784
137 969
131 936
fsharp (8)
suave
(2.6)
135 743
118 645
102 393
javascript (ES2019)
chubbyts
(1.9)
134 851
134 497
134 367
javascript (ES2019)
tinyhttp
(2.5)
130 201
132 300
128 465
python (3.11)
heaven
(0.5)
129 475
141 866
152 980
python (3.11)
fastapi
(0.115)
123 670
128 044
127 759
javascript (ES2019)
turbo_polka
(0.3)
106 060
104 239
100 722
java (21)
blade
(2.1)
101 301
130 426
131 934
javascript (ES2019)
fast
(6)
96 306
90 307
81 003
go (1.23)
macaron
(1.5)
89 295
112 182
114 439
javascript (ES2019)
express
(4.21)
88 007
86 523
85 261
ruby (3.4)
syro
(3.2)
85 951
78 032
79 033
javascript (ES2019)
feathersjs
(5)
83 863
82 357
80 445
ruby (3.4)
roda
(3.86)
82 217
76 228
77 882
ruby (3.4)
hanami-api
(0.3)
81 118
74 150
73 900
python (3.11)
robyn
(0.64)
76 726
84 772
90 170
ruby (3.4)
cuba
(4)
74 684
69 208
72 398
python (3.11)
guillotina
(7)
72 547
74 838
68 177
go (1.23)
tango
(0.6)
68 322
74 541
74 457
ruby (3.4)
hanami
(2.2)
67 732
62 973
70 052
javascript (ES2019)
nestjs-express
(10.4)
66 755
66 057
64 436
javascript (ES2019)
oak-bun
(17.1)
63 290
62 287
61 569
python (3.11)
quart
(0.19)
62 662
64 734
60 862
ruby (3.4)
rack_app
(11)
62 538
60 080
60 941
javascript (ES2019)
oak-deno
(17.1.3)
61 900
59 847
57 591
python (3.11)
tornado
(6.4)
60 929
62 581
63 186
ruby (3.4)
rack-routing
(0)
59 924
58 645
60 421
javascript (ES2019)
totaljs
(0)
58 075
81 063
77 086
python (3.11)
aiohttp
(3.11)
46 591
45 740
42 460
go (1.23)
gramework
(1.8)
42 088
54 906
56 329
python (3.11)
tonberry
(0.2)
39 688
39 372
37 489
javascript (ES2019)
express-deno
(4.21)
34 620
33 666
32 692
ruby (3.4)
grape
(2.2)
33 743
32 624
39 504
ruby (3.4)
sinatra
(4.1)
32 109
34 867
36 145
ruby (3.4)
rails-api
(8)
25 442
24 187
19 697
javascript (ES2019)
sails
(1.5)
21 913
21 743
21 472
ruby (3.4)
rails
(8)
19 472
15 536
18 418
java (21)
struts2
(7)
17 052
16 299
16 197
python (3.11)
klein
(24.8)
11 573
11 468
11 023
python (3.11)
nameko
(2.14)
7 695
7 565
7 064
javascript (ES2019)
yume-server
(0)
7 309
23 057
10 200
python (3.11)
django-ninja
(1.3)
4 677
4 742
4 485
python (3.11)
baize-wsgi
(0.20)
3 691
3 068
4 799
python (3.11)
falcon
(4)
3 487
2 902
5 114
python (3.11)
hug
(2.6)
3 330
2 856
4 523
python (3.11)
pyramid
(2)
3 308
2 814
4 403
python (3.11)
molten
(1)
3 237
2 717
3 899
python (3.11)
bottle
(0.13)
3 196
2 746
2 326
python (3.11)
flask
(3.1)
3 069
2 791
3 891
python (3.11)
clastic
(24)
3 015
2 726
3 875
python (3.11)
django
(5.1)
2 859
2 639
3 470
python (3.11)
cherrypy
(18.10)
2 761
2 682
3 244
python (3.11)
masonite
(4.20)
2 313
2 566
2 264
ruby (3.4)
camping
(3.2)
2 169
2 158
2 169