diff --git a/README.md b/README.md index fbb68e9a..76f79d44 100644 --- a/README.md +++ b/README.md @@ -46,34 +46,34 @@ node ./benchmark [arguments (optional)] * __Machine:__ linux x64 | 4 vCPUs | 15.6GB Mem * __Node:__ `v20.15.0` -* __Run:__ Mon Jul 08 2024 01:39:20 GMT+0000 (Coordinated Universal Time) +* __Run:__ Mon Jul 15 2024 01:40:38 GMT+0000 (Coordinated Universal Time) * __Method:__ `autocannon -c 100 -d 40 -p 10 localhost:3000` (two rounds; one to warm-up, one to measure) | | Version | Router | Requests/s | Latency (ms) | Throughput/Mb | | :-- | --: | --: | :-: | --: | --: | -| bare | v20.15.0 | ✗ | 46585.6 | 20.96 | 8.31 | -| fastify | 4.28.1 | ✓ | 46007.2 | 21.23 | 8.25 | -| connect | 3.7.0 | ✗ | 45417.4 | 21.51 | 8.10 | -| polka | 0.5.2 | ✓ | 45326.4 | 21.56 | 8.08 | -| polkadot | 1.0.0 | ✗ | 45200.0 | 21.63 | 8.06 | -| server-base-router | 7.1.32 | ✓ | 45099.2 | 21.68 | 8.04 | -| rayo | 1.4.6 | ✓ | 44586.4 | 21.94 | 7.95 | -| server-base | 7.1.32 | ✗ | 44548.8 | 21.95 | 7.95 | -| 0http | 3.5.3 | ✓ | 44336.8 | 22.06 | 7.91 | -| connect-router | 1.3.8 | ✓ | 41946.4 | 23.34 | 7.48 | -| h3 | 1.12.0 | ✗ | 40916.0 | 23.94 | 7.30 | -| h3-router | 1.12.0 | ✓ | 39739.2 | 24.66 | 7.09 | -| hono | 4.4.12 | ✓ | 39184.8 | 25.02 | 6.99 | -| restana | 4.9.9 | ✓ | 38806.4 | 25.27 | 6.92 | -| koa | 2.15.3 | ✗ | 35900.6 | 27.36 | 6.40 | -| take-five | 2.0.0 | ✓ | 34190.8 | 28.75 | 12.29 | -| koa-isomorphic-router | 1.0.1 | ✓ | 33214.8 | 29.61 | 5.92 | -| restify | 11.1.0 | ✓ | 32997.0 | 29.80 | 5.95 | -| koa-router | 12.0.1 | ✓ | 32791.6 | 30.00 | 5.85 | -| hapi | 21.3.10 | ✓ | 30701.0 | 32.07 | 5.47 | -| fastify-big-json | 4.28.1 | ✓ | 11643.4 | 85.31 | 133.96 | -| express | 4.19.2 | ✓ | 10402.2 | 95.55 | 1.86 | -| express-with-middlewares | 4.19.2 | ✓ | 9984.0 | 99.51 | 3.71 | +| bare | v20.15.0 | ✗ | 45587.2 | 21.43 | 8.13 | +| rayo | 1.4.6 | ✓ | 45567.2 | 21.44 | 8.13 | +| fastify | 4.28.1 | ✓ | 45249.6 | 21.60 | 8.11 | +| connect | 3.7.0 | ✗ | 44872.8 | 21.79 | 8.00 | +| polka | 0.5.2 | ✓ | 44864.0 | 21.79 | 8.00 | +| polkadot | 1.0.0 | ✗ | 44622.4 | 21.92 | 7.96 | +| server-base-router | 7.1.32 | ✓ | 43614.4 | 22.43 | 7.78 | +| server-base | 7.1.32 | ✗ | 43456.8 | 22.51 | 7.75 | +| connect-router | 1.3.8 | ✓ | 42644.8 | 22.95 | 7.60 | +| h3 | 1.12.0 | ✗ | 42151.2 | 23.23 | 7.52 | +| 0http | 3.5.3 | ✓ | 41743.2 | 23.46 | 7.44 | +| h3-router | 1.12.0 | ✓ | 40280.8 | 24.33 | 7.18 | +| hono | 4.4.13 | ✓ | 39488.0 | 24.82 | 7.04 | +| restana | 4.9.9 | ✓ | 38473.6 | 25.48 | 6.86 | +| koa | 2.15.3 | ✗ | 35434.2 | 27.73 | 6.32 | +| koa-isomorphic-router | 1.0.1 | ✓ | 33914.4 | 28.98 | 6.05 | +| koa-router | 12.0.1 | ✓ | 33415.4 | 29.42 | 5.96 | +| take-five | 2.0.0 | ✓ | 32431.2 | 30.33 | 11.66 | +| restify | 11.1.0 | ✓ | 31578.4 | 31.16 | 5.69 | +| hapi | 21.3.10 | ✓ | 31225.4 | 31.52 | 5.57 | +| fastify-big-json | 4.28.1 | ✓ | 11751.2 | 84.55 | 135.21 | +| express | 4.19.2 | ✓ | 10633.6 | 93.46 | 1.90 | +| express-with-middlewares | 4.19.2 | ✓ | 10156.0 | 97.87 | 3.78 | | micro-route | 2.5.0 | ✓ | N/A | N/A | N/A | | micro | 10.0.1 | ✗ | N/A | N/A | N/A | | microrouter | 3.1.3 | ✓ | N/A | N/A | N/A | diff --git a/benchmark-results.json b/benchmark-results.json index f8b0c6b9..f97ab520 100644 --- a/benchmark-results.json +++ b/benchmark-results.json @@ -1 +1 @@ -[{"name":"bare","version":"v20.15.0","requests":"46585.6","latency":"20.96","throughput":"8.31"},{"name":"fastify","version":"4.28.1","hasRouter":true,"requests":"46007.2","latency":"21.23","throughput":"8.25"},{"name":"connect","version":"3.7.0","requests":"45417.4","latency":"21.51","throughput":"8.10"},{"name":"polka","version":"0.5.2","hasRouter":true,"requests":"45326.4","latency":"21.56","throughput":"8.08"},{"name":"polkadot","version":"1.0.0","hasRouter":false,"requests":"45200.0","latency":"21.63","throughput":"8.06"},{"name":"server-base-router","version":"7.1.32","hasRouter":true,"requests":"45099.2","latency":"21.68","throughput":"8.04"},{"name":"rayo","version":"1.4.6","hasRouter":true,"requests":"44586.4","latency":"21.94","throughput":"7.95"},{"name":"server-base","version":"7.1.32","requests":"44548.8","latency":"21.95","throughput":"7.95"},{"name":"0http","version":"3.5.3","hasRouter":true,"requests":"44336.8","latency":"22.06","throughput":"7.91"},{"name":"connect-router","version":"1.3.8","hasRouter":true,"requests":"41946.4","latency":"23.34","throughput":"7.48"},{"name":"h3","version":"1.12.0","requests":"40916.0","latency":"23.94","throughput":"7.30"},{"name":"h3-router","version":"1.12.0","hasRouter":true,"requests":"39739.2","latency":"24.66","throughput":"7.09"},{"name":"hono","version":"4.4.12","hasRouter":true,"requests":"39184.8","latency":"25.02","throughput":"6.99"},{"name":"restana","version":"4.9.9","hasRouter":true,"requests":"38806.4","latency":"25.27","throughput":"6.92"},{"name":"koa","version":"2.15.3","requests":"35900.6","latency":"27.36","throughput":"6.40"},{"name":"take-five","version":"2.0.0","hasRouter":true,"requests":"34190.8","latency":"28.75","throughput":"12.29"},{"name":"koa-isomorphic-router","version":"1.0.1","hasRouter":true,"requests":"33214.8","latency":"29.61","throughput":"5.92"},{"name":"restify","version":"11.1.0","hasRouter":true,"requests":"32997.0","latency":"29.80","throughput":"5.95"},{"name":"koa-router","version":"12.0.1","hasRouter":true,"requests":"32791.6","latency":"30.00","throughput":"5.85"},{"name":"hapi","version":"21.3.10","hasRouter":true,"requests":"30701.0","latency":"32.07","throughput":"5.47"},{"name":"fastify-big-json","version":"4.28.1","hasRouter":true,"requests":"11643.4","latency":"85.31","throughput":"133.96"},{"name":"express","version":"4.19.2","hasRouter":true,"requests":"10402.2","latency":"95.55","throughput":"1.86"},{"name":"express-with-middlewares","version":"4.19.2","hasRouter":true,"requests":"9984.0","latency":"99.51","throughput":"3.71"},{"name":"micro-route","version":"2.5.0","hasRouter":true,"requests":"N/A","latency":"N/A","throughput":"N/A"},{"name":"micro","version":"10.0.1","requests":"N/A","latency":"N/A","throughput":"N/A"},{"name":"microrouter","version":"3.1.3","hasRouter":true,"requests":"N/A","latency":"N/A","throughput":"N/A"},{"name":"trpc-router","version":"10.45.2","hasRouter":true,"requests":"N/A","latency":"N/A","throughput":"N/A"}] \ No newline at end of file +[{"name":"bare","version":"v20.15.0","requests":"45587.2","latency":"21.43","throughput":"8.13"},{"name":"rayo","version":"1.4.6","hasRouter":true,"requests":"45567.2","latency":"21.44","throughput":"8.13"},{"name":"fastify","version":"4.28.1","hasRouter":true,"requests":"45249.6","latency":"21.60","throughput":"8.11"},{"name":"connect","version":"3.7.0","requests":"44872.8","latency":"21.79","throughput":"8.00"},{"name":"polka","version":"0.5.2","hasRouter":true,"requests":"44864.0","latency":"21.79","throughput":"8.00"},{"name":"polkadot","version":"1.0.0","hasRouter":false,"requests":"44622.4","latency":"21.92","throughput":"7.96"},{"name":"server-base-router","version":"7.1.32","hasRouter":true,"requests":"43614.4","latency":"22.43","throughput":"7.78"},{"name":"server-base","version":"7.1.32","requests":"43456.8","latency":"22.51","throughput":"7.75"},{"name":"connect-router","version":"1.3.8","hasRouter":true,"requests":"42644.8","latency":"22.95","throughput":"7.60"},{"name":"h3","version":"1.12.0","requests":"42151.2","latency":"23.23","throughput":"7.52"},{"name":"0http","version":"3.5.3","hasRouter":true,"requests":"41743.2","latency":"23.46","throughput":"7.44"},{"name":"h3-router","version":"1.12.0","hasRouter":true,"requests":"40280.8","latency":"24.33","throughput":"7.18"},{"name":"hono","version":"4.4.13","hasRouter":true,"requests":"39488.0","latency":"24.82","throughput":"7.04"},{"name":"restana","version":"4.9.9","hasRouter":true,"requests":"38473.6","latency":"25.48","throughput":"6.86"},{"name":"koa","version":"2.15.3","requests":"35434.2","latency":"27.73","throughput":"6.32"},{"name":"koa-isomorphic-router","version":"1.0.1","hasRouter":true,"requests":"33914.4","latency":"28.98","throughput":"6.05"},{"name":"koa-router","version":"12.0.1","hasRouter":true,"requests":"33415.4","latency":"29.42","throughput":"5.96"},{"name":"take-five","version":"2.0.0","hasRouter":true,"requests":"32431.2","latency":"30.33","throughput":"11.66"},{"name":"restify","version":"11.1.0","hasRouter":true,"requests":"31578.4","latency":"31.16","throughput":"5.69"},{"name":"hapi","version":"21.3.10","hasRouter":true,"requests":"31225.4","latency":"31.52","throughput":"5.57"},{"name":"fastify-big-json","version":"4.28.1","hasRouter":true,"requests":"11751.2","latency":"84.55","throughput":"135.21"},{"name":"express","version":"4.19.2","hasRouter":true,"requests":"10633.6","latency":"93.46","throughput":"1.90"},{"name":"express-with-middlewares","version":"4.19.2","hasRouter":true,"requests":"10156.0","latency":"97.87","throughput":"3.78"},{"name":"micro-route","version":"2.5.0","hasRouter":true,"requests":"N/A","latency":"N/A","throughput":"N/A"},{"name":"micro","version":"10.0.1","requests":"N/A","latency":"N/A","throughput":"N/A"},{"name":"microrouter","version":"3.1.3","hasRouter":true,"requests":"N/A","latency":"N/A","throughput":"N/A"},{"name":"trpc-router","version":"10.45.2","hasRouter":true,"requests":"N/A","latency":"N/A","throughput":"N/A"}] \ No newline at end of file