Find your framework.
Explore the numbers.
HTTP performance results for 383 web frameworks in 29 languages, measured with zrk at concurrency 64, 256, 512. Updated 2026-10-06.
Browse by language
- c 2 frameworks →
- clojure 4 frameworks →
- cpp 2 frameworks →
- crystal 12 frameworks →
- csharp 8 frameworks →
- d 7 frameworks →
- elixir 6 frameworks →
- fsharp 8 frameworks →
- gleam 1 frameworks →
- go 42 frameworks →
- guile 2 frameworks →
- haskell 2 frameworks →
- java 20 frameworks →
- javascript 69 frameworks →
- julia 4 frameworks →
- kotlin 7 frameworks →
- lua 1 frameworks →
- nim 13 frameworks →
- ocaml 1 frameworks →
- perl 4 frameworks →
- php 55 frameworks →
- python 46 frameworks →
- r 5 frameworks →
- ruby 13 frameworks →
- rust 32 frameworks →
- scala 5 frameworks →
- swift 6 frameworks →
- v 4 frameworks →
- zig 2 frameworks →
Leading throughput in this run
| # | Framework | Language | Requests / second | P50 latency | P99 latency | HTTP errors |
|---|---|---|---|---|---|---|
| 1 | morojs-engine 1.1 | javascript | 281 498 | 0.21 ms | 0.47 ms | 0 |
| 2 | morojs 1.8 | javascript | 279 251 | 0.21 ms | 0.53 ms | 0 |
| 3 | caprese 0.1 | nim | 274 055 | 0.12 ms | 5.49 ms | 0 |
| 4 | uwebsockets 20.71 | javascript | 258 863 | 0.22 ms | 0.59 ms | 0 |
| 5 | fulmine.js 5.21 | javascript | 258 434 | 0.24 ms | 0.59 ms | 0 |
| 6 | may_minihttp 0.1 | rust | 257 195 | 0.25 ms | 0.28 ms | 0 |
| 7 | ohkami-nio 0.24 | rust | 244 774 | 0.32 ms | 0.46 ms | 0 |
| 8 | powpow 0.2 | nim | 237 033 | 0.07 ms | 7.60 ms | 0 |
| 9 | ohkami-tokio 0.24 | rust | 233 990 | 0.27 ms | 0.47 ms | 0 |
| 10 | activej 5.5 | java | 227 183 | 0.26 ms | 0.53 ms | 0 |
| 11 | tako 2.4 | rust | 219 732 | 0.29 ms | 0.32 ms | 0 |
| 12 | httpz 52eb187cff75e168316b44480cd9f0fae26a1c5e | zig | 218 636 | 0.29 ms | 0.68 ms | 0 |
| 13 | breeze 2 | go | 216 272 | 0.26 ms | 0.66 ms | 0 |
| 14 | hyper 1.5 | rust | 216 185 | 0.30 ms | 0.50 ms | 0 |
| 15 | khttp 0.2 | rust | 215 714 | 0.28 ms | 0.44 ms | 0 |
| 16 | sifrr 0 | javascript | 214 306 | 0.28 ms | 0.74 ms | 0 |
| 17 | actix 4.8 | rust | 210 007 | 0.30 ms | 0.33 ms | 0 |
| 18 | ultimate-express 2.2 | javascript | 206 646 | 0.35 ms | 1.00 ms | 0 |
| 19 | garuda 1 | swift | 205 848 | 0.07 ms | 2.07 ms | 0 |
| 20 | web 0 | go | 205 272 | 0.26 ms | 0.98 ms | 0 |
| 21 | jooby 4.5 | java | 204 943 | 0.28 ms | 0.59 ms | 0 |
| 22 | micro-web 0.3 | rust | 202 040 | 0.32 ms | 0.54 ms | 0 |
| 23 | vanilla_epoll 1822cbb4b5316f433df4805bb68560fadd4df385 | v | 200 707 | 0.08 ms | 9.01 ms | 0 |
| 24 | elysia-bun 1.4 | javascript | 199 540 | 0.31 ms | 0.68 ms | 0 |
| 25 | httpbeast 0.4 | nim | 196 846 | 0.08 ms | 9.32 ms | 0 |
| 26 | argan 0.1 | rust | 194 188 | 0.33 ms | 0.56 ms | 0 |
| 27 | warp 0.4 | rust | 192 559 | 0.33 ms | 0.57 ms | 0 |
| 28 | mesh 0.8 | javascript | 192 510 | 0.34 ms | 0.80 ms | 0 |
| 29 | rapidoid 5.5 | java | 192 357 | 0.33 ms | 0.50 ms | 0 |
| 30 | peregrine-wsgi 1.1 | python | 191 025 | 0.30 ms | 0.85 ms | 0 |
| 31 | feersum 1.507 | perl | 190 258 | 0.33 ms | 0.47 ms | 0 |
| 32 | vertx 5.1 | java | 188 779 | 0.31 ms | 0.64 ms | 0 |
| 33 | zeno-rs-actix 0.2 | rust | 187 930 | 0.34 ms | 0.37 ms | 0 |
| 34 | jooby 4.5 | kotlin | 187 691 | 0.31 ms | 0.65 ms | 0 |
| 35 | cwist 3.9 | c | 186 252 | 0.37 ms | 0.50 ms | 0 |
| 36 | viz 0.11 | rust | 182 897 | 0.35 ms | 0.60 ms | 0 |
| 37 | fasthttp 1.74 | go | 182 167 | 0.29 ms | 1.10 ms | 0 |
| 38 | gorouter-fasthttp 4.4 | go | 180 176 | 0.29 ms | 1.12 ms | 0 |
| 39 | gearbox 1.2 | go | 180 070 | 0.29 ms | 1.12 ms | 0 |
| 40 | axum 0.8 | rust | 178 795 | 0.36 ms | 0.61 ms | 0 |
| 41 | workerman 5.2 | php | 178 587 | 0.34 ms | 0.70 ms | 0 |
| 42 | fiber 3.5 | go | 178 319 | 0.30 ms | 1.12 ms | 0 |
| 43 | drogon 1.9 | cpp | 177 005 | 0.09 ms | 11.31 ms | 0 |
| 44 | hyperlane 21.8 | rust | 176 933 | 0.36 ms | 0.61 ms | 0 |
| 45 | vertx4web 5.1 | java | 176 773 | 0.33 ms | 0.68 ms | 0 |
| 46 | routejs-uwebsocket 3 | javascript | 176 564 | 0.35 ms | 0.89 ms | 0 |
| 47 | morojs-uws 1.8 | javascript | 176 414 | 0.36 ms | 0.85 ms | 0 |
| 48 | simps 1 | php | 175 762 | 0.07 ms | 11.73 ms | 0 |
| 49 | graphul 1 | rust | 175 741 | 0.37 ms | 0.62 ms | 0 |
| 50 | cps-http 2 | nim | 174 482 | 0.36 ms | 1.83 ms | 0 |
A benchmark is a starting point. Compare requests per second, tail latency and error counts for your workload, then consider the features and ecosystem your application needs.