Web Frameworks Benchmark


javascript web framework benchmarks

Benchmark results for 63 javascript web frameworks, measured with zrk at concurrency 64, 256, 512. Fastest at concurrency 64: nhttp with 179 708 requests per second.

javascript frameworks at concurrency 64, ranked on requests per second.
# Framework Requests / second P50 latency P99 latency HTTP errors
1 nhttp 2 179 708 0.33 ms 0.56 ms 0
2 elysia-bun 1.4 178 846 0.32 ms 0.60 ms 0
3 sifrr 0 174 175 0.32 ms 0.50 ms 0
4 mesh 0.8 173 717 0.27 ms 0.48 ms 0
5 vixeny-deno 0.1 173 367 0.32 ms 0.52 ms 0
6 uwebsockets 20.58 172 563 0.33 ms 0.51 ms 0
7 fulmine 5.18 172 187 0.31 ms 0.55 ms 0
8 hono-deno 4.13 170 810 0.32 ms 0.53 ms 0
9 routejs-uwebsocket 3 167 115 0.30 ms 0.49 ms 0
10 morojs 1.8 165 567 0.33 ms 0.49 ms 0
11 ultimate-express 2.2 165 520 0.35 ms 0.67 ms 0
12 morojs-uws 1.8 163 355 0.31 ms 0.50 ms 0
13 fast 6 159 394 0.34 ms 0.63 ms 0
14 ignisia 0.2 155 085 0.31 ms 0.73 ms 0
15 bun 1.2.5 153 138 0.39 ms 0.83 ms 0
16 nifra-bun 2.14 152 502 0.36 ms 0.84 ms 0
17 vixeny-bun 0.1 147 141 0.38 ms 0.94 ms 0
18 hyper-express 7 146 615 0.38 ms 0.56 ms 0
19 0http-bun 1.3 145 049 0.41 ms 0.94 ms 0
20 spliffy 1.4 143 370 0.42 ms 0.73 ms 0
21 oak-deno 17.1.3 130 699 0.40 ms 1.36 ms 0
22 bunicorn 0 127 363 0.47 ms 1.23 ms 0
23 polkadot 1 108 975 0.57 ms 1.04 ms 0
24 polka 0.5 108 407 0.56 ms 1.06 ms 0
25 0http 5.1 108 308 0.57 ms 1.08 ms 0
26 routejs 3 107 591 0.57 ms 1.09 ms 0
27 rayo 1.4 106 619 0.58 ms 1.12 ms 0
28 fastify 5.12 104 443 0.58 ms 1.20 ms 0
29 blaze-bun 4.4 103 337 0.51 ms 2.64 ms 0
30 pxe 1 102 985 0.58 ms 1.48 ms 0
31 brahma-firelight 1.5 102 818 0.49 ms 3.61 ms 0
32 restana 6 102 307 0.59 ms 1.23 ms 0
33 hono-node 4.13 100 055 0.61 ms 1.36 ms 0
34 muneem 2.4 99 793 0.60 ms 1.47 ms 0
35 h3 1.15 99 613 0.60 ms 1.36 ms 0
36 foxify 0.1 98 731 0.61 ms 1.44 ms 0
37 adonisjs-http 9 98 053 0.60 ms 1.44 ms 0
38 iotjs-express 0 94 882 0.63 ms 1.57 ms 0
39 blaze-node 4.4 90 624 0.65 ms 1.82 ms 0
40 koa 3.1 90 414 0.65 ms 1.78 ms 0
41 elysia-node 1.4 89 571 0.66 ms 1.88 ms 0
42 fyrejet 4 88 643 0.66 ms 2.28 ms 0
43 express 5.2 86 089 0.67 ms 2.05 ms 0
44 nifra-node 2.14 84 386 0.68 ms 2.30 ms 0
45 moleculer 0.15 82 312 0.69 ms 2.35 ms 0
46 tinyhttp 3 82 030 0.54 ms 4.63 ms 0
47 feathersjs 5 78 906 0.70 ms 3.03 ms 0
48 adonisjs-slim 7 78 474 0.69 ms 3.13 ms 0
49 hapi 21.4 70 884 0.78 ms 3.93 ms 0
50 hono 4.13 69 683 0.87 ms 1.54 ms 0
51 nestjs-express 11.2 63 262 0.84 ms 4.22 ms 0
52 chubbyts-uwebsockets 3 60 368 0.95 ms 7.96 ms 0
53 turbo_polka 0.3 58 345 1.07 ms 1.58 ms 0
54 fastify-bun 5.12 53 568 1.11 ms 2.15 ms 0
55 chubbyts 3 42 983 1.50 ms 8.11 ms 0
56 express-bun 5.2 39 580 1.52 ms 2.59 ms 0
57 durian.js-fastify 2 37 570 1.58 ms 2.86 ms 0
58 oak-bun 17.1 33 223 1.84 ms 2.81 ms 0
59 koa-bun 3.1 32 110 1.89 ms 2.99 ms 0
60 express-deno 5.2 29 966 1.97 ms 6.28 ms 0
61 durian.js 2 29 845 2.01 ms 3.36 ms 0
62 sails 1.5 7 846 7.65 ms 12.56 ms 0
63 totaljs 0 7 188 667.87 ms 671.74 ms 0
javascript frameworks at concurrency 256, ranked on requests per second.
# Framework Requests / second P50 latency P99 latency HTTP errors
1 elysia-bun 1.4 153 232 1.03 ms 2.15 ms 0
2 ultimate-express 2.2 150 542 1.07 ms 2.28 ms 0
3 sifrr 0 149 596 0.85 ms 2.29 ms 0
4 fulmine 5.18 149 590 1.11 ms 2.21 ms 0
5 nhttp 2 148 606 1.56 ms 2.41 ms 0
6 uwebsockets 20.58 148 573 0.94 ms 2.36 ms 0
7 mesh 0.8 148 075 0.90 ms 2.13 ms 0
8 hono-deno 4.13 146 915 1.22 ms 2.34 ms 0
9 morojs-uws 1.8 144 553 0.75 ms 2.19 ms 0
10 fast 6 144 437 1.32 ms 2.39 ms 0
11 morojs 1.8 142 883 1.13 ms 2.20 ms 0
12 routejs-uwebsocket 3 141 670 1.18 ms 2.18 ms 0
13 vixeny-deno 0.1 141 003 1.45 ms 2.32 ms 0
14 ignisia 0.2 133 731 1.19 ms 2.60 ms 0
15 hyper-express 7 130 453 0.99 ms 2.32 ms 0
16 bun 1.2.5 129 263 1.32 ms 2.86 ms 0
17 nifra-bun 2.14 126 930 1.29 ms 2.98 ms 0
18 spliffy 1.4 125 428 1.06 ms 2.66 ms 0
19 0http-bun 1.3 120 684 1.26 ms 3.08 ms 0
20 vixeny-bun 0.1 120 343 1.20 ms 3.27 ms 0
21 oak-deno 17.1.3 114 393 2.05 ms 4.01 ms 0
22 bunicorn 0 108 502 1.81 ms 3.35 ms 0
23 polkadot 1 105 199 1.66 ms 2.80 ms 0
24 0http 5.1 103 710 1.37 ms 2.84 ms 0
25 polka 0.5 101 951 1.99 ms 2.89 ms 0
26 rayo 1.4 100 708 1.66 ms 3.35 ms 0
27 routejs 3 100 312 1.52 ms 3.34 ms 0
28 pxe 1 100 026 1.99 ms 3.76 ms 0
29 restana 6 98 558 1.71 ms 2.98 ms 0
30 blaze-bun 4.4 97 418 2.38 ms 3.67 ms 0
31 fastify 5.12 97 201 1.78 ms 2.99 ms 0
32 h3 1.15 96 893 1.98 ms 3.04 ms 0
33 hono-node 4.13 94 450 2.06 ms 3.08 ms 0
34 muneem 2.4 93 554 2.08 ms 3.11 ms 0
35 brahma-firelight 1.5 92 687 2.70 ms 4.39 ms 0
36 foxify 0.1 92 092 2.01 ms 3.15 ms 0
37 adonisjs-http 9 91 286 2.17 ms 3.19 ms 0
38 iotjs-express 0 89 732 2.23 ms 3.35 ms 0
39 blaze-node 4.4 85 908 2.44 ms 4.43 ms 0
40 fyrejet 4 85 312 2.47 ms 3.80 ms 0
41 koa 3.1 85 075 2.34 ms 3.43 ms 0
42 elysia-node 1.4 84 693 2.70 ms 3.56 ms 0
43 express 5.2 82 716 2.66 ms 3.93 ms 0
44 nifra-node 2.14 81 249 2.92 ms 4.61 ms 0
45 moleculer 0.15 79 777 2.71 ms 5.20 ms 0
46 feathersjs 5 76 745 3.26 ms 5.71 ms 0
47 adonisjs-slim 7 76 034 3.26 ms 5.56 ms 0
48 tinyhttp 3 75 158 3.08 ms 13.50 ms 0
49 hapi 21.4 71 351 3.16 ms 9.40 ms 0
50 hono 4.13 65 964 3.74 ms 5.65 ms 0
51 nestjs-express 11.2 64 013 3.69 ms 11.20 ms 0
52 chubbyts-uwebsockets 3 59 391 3.87 ms 23.66 ms 0
53 turbo_polka 0.3 50 090 5.02 ms 6.73 ms 0
54 fastify-bun 5.12 49 627 4.90 ms 7.57 ms 0
55 chubbyts 3 42 970 6.20 ms 25.92 ms 0
56 express-bun 5.2 37 367 6.57 ms 9.46 ms 0
57 durian.js-fastify 2 36 290 6.77 ms 9.93 ms 0
58 oak-bun 17.1 32 837 7.64 ms 9.64 ms 0
59 koa-bun 3.1 31 408 7.95 ms 10.27 ms 0
60 durian.js 2 27 962 8.97 ms 12.46 ms 0
61 express-deno 5.2 27 480 8.73 ms 16.83 ms 0
62 sails 1.5 7 747 30.71 ms 44.61 ms 0
63 totaljs 0 6 923 671.56 ms 677.02 ms 0
javascript frameworks at concurrency 512, ranked on requests per second.
# Framework Requests / second P50 latency P99 latency HTTP errors
1 hono-deno 4.13 163 408 0.96 ms 2.16 ms 0
2 vixeny-deno 0.1 158 285 1.26 ms 2.24 ms 0
3 uwebsockets 20.58 155 048 0.72 ms 2.37 ms 0
4 elysia-bun 1.4 154 326 0.92 ms 2.11 ms 0
5 fulmine 5.18 148 906 1.19 ms 2.19 ms 0
6 mesh 0.8 148 879 0.81 ms 2.12 ms 0
7 ultimate-express 2.2 147 325 1.19 ms 2.32 ms 0
8 fast 6 146 492 1.77 ms 2.75 ms 0
9 nhttp 2 144 142 1.39 ms 2.73 ms 0
10 sifrr 0 144 124 1.27 ms 2.29 ms 0
11 routejs-uwebsocket 3 142 191 1.05 ms 2.15 ms 0
12 morojs-uws 1.8 140 753 1.04 ms 2.17 ms 0
13 morojs 1.8 140 392 1.20 ms 2.25 ms 0
14 ignisia 0.2 132 938 1.32 ms 2.52 ms 0
15 bun 1.2.5 129 753 1.43 ms 2.60 ms 0
16 nifra-bun 2.14 129 023 0.97 ms 3.07 ms 0
17 hyper-express 7 126 783 1.28 ms 2.30 ms 0
18 spliffy 1.4 124 597 1.44 ms 2.67 ms 0
19 0http-bun 1.3 122 385 0.80 ms 3.15 ms 0
20 vixeny-bun 0.1 120 691 1.04 ms 3.18 ms 0
21 oak-deno 17.1.3 118 594 2.13 ms 5.12 ms 0
22 bunicorn 0 106 931 1.64 ms 3.39 ms 0
23 0http 5.1 104 999 1.34 ms 3.44 ms 0
24 polkadot 1 103 798 2.13 ms 3.44 ms 0
25 routejs 3 101 068 1.64 ms 3.31 ms 0
26 polka 0.5 100 040 1.64 ms 3.34 ms 0
27 rayo 1.4 99 631 1.53 ms 4.31 ms 0
28 pxe 1 99 164 1.78 ms 3.29 ms 0
29 fastify 5.12 98 680 1.63 ms 3.84 ms 0
30 blaze-bun 4.4 97 277 2.02 ms 3.52 ms 0
31 restana 6 95 943 1.73 ms 3.50 ms 0
32 h3 1.15 95 657 1.61 ms 3.95 ms 0
33 hono-node 4.13 95 190 1.83 ms 3.84 ms 0
34 muneem 2.4 93 220 2.09 ms 3.95 ms 0
35 brahma-firelight 1.5 92 809 2.43 ms 3.22 ms 0
36 foxify 0.1 91 539 1.86 ms 3.55 ms 0
37 adonisjs-http 9 90 418 1.87 ms 4.48 ms 0
38 iotjs-express 0 89 286 2.34 ms 3.25 ms 0
39 blaze-node 4.4 85 915 2.60 ms 4.01 ms 0
40 fyrejet 4 85 164 3.24 ms 4.40 ms 0
41 koa 3.1 84 699 2.36 ms 3.89 ms 0
42 elysia-node 1.4 84 000 2.58 ms 3.87 ms 0
43 express 5.2 81 514 3.09 ms 4.21 ms 0
44 moleculer 0.15 78 910 3.23 ms 4.73 ms 0
45 nifra-node 2.14 78 682 3.21 ms 6.56 ms 0
46 feathersjs 5 76 548 3.57 ms 5.92 ms 0
47 adonisjs-slim 7 74 641 4.28 ms 6.98 ms 0
48 tinyhttp 3 74 532 5.14 ms 18.52 ms 0
49 hapi 21.4 69 867 5.00 ms 17.10 ms 0
50 hono 4.13 65 347 7.68 ms 10.99 ms 0
51 nestjs-express 11.2 63 496 6.27 ms 20.83 ms 0
52 chubbyts-uwebsockets 3 59 591 7.03 ms 36.21 ms 0
53 fastify-bun 5.12 49 682 10.10 ms 13.66 ms 0
54 turbo_polka 0.3 48 245 10.32 ms 13.92 ms 0
55 chubbyts 3 43 055 11.91 ms 45.89 ms 0
56 express-bun 5.2 36 820 13.70 ms 18.19 ms 0
57 durian.js-fastify 2 36 093 14.00 ms 18.29 ms 0
58 oak-bun 17.1 32 468 15.63 ms 19.76 ms 0
59 koa-bun 3.1 30 496 16.72 ms 21.33 ms 0
60 durian.js 2 27 589 18.59 ms 23.30 ms 0
61 express-deno 5.2 26 694 16.91 ms 32.47 ms 0
62 sails 1.5 7 550 24.22 ms 1926.31 ms 0
63 totaljs 0 6 415 8.54 ms 679.34 ms 0