diff --git a/README.md b/README.md index c0322df3..04463ea0 100644 --- a/README.md +++ b/README.md @@ -45,36 +45,36 @@ node ./benchmark [arguments (optional)] # Benchmarks * __Machine:__ linux x64 | 4 vCPUs | 15.6GB Mem -* __Node:__ `v20.15.1` -* __Run:__ Mon Jul 29 2024 01:21:49 GMT+0000 (Coordinated Universal Time) +* __Node:__ `v20.16.0` +* __Run:__ Mon Aug 05 2024 01:21:46 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.1 | ✗ | 47086.4 | 20.73 | 8.40 | -| connect | 3.7.0 | ✗ | 46037.6 | 21.21 | 8.21 | -| fastify | 4.28.1 | ✓ | 45796.8 | 21.32 | 8.21 | -| polka | 0.5.2 | ✓ | 45577.6 | 21.44 | 8.13 | -| kita | 1.1.36 | ✓ | 45254.4 | 21.60 | 8.11 | -| rayo | 1.4.6 | ✓ | 44330.4 | 22.06 | 7.90 | -| 0http | 3.5.3 | ✓ | 44258.4 | 22.10 | 7.89 | -| polkadot | 1.0.0 | ✗ | 43610.4 | 22.43 | 7.78 | -| server-base | 7.1.32 | ✗ | 42955.2 | 22.78 | 7.66 | -| server-base-router | 7.1.32 | ✓ | 42711.2 | 22.91 | 7.62 | -| h3 | 1.12.0 | ✗ | 42542.4 | 23.01 | 7.59 | -| connect-router | 1.3.8 | ✓ | 41335.2 | 23.69 | 7.37 | -| h3-router | 1.12.0 | ✓ | 40656.0 | 24.09 | 7.25 | -| hono | 4.5.2 | ✓ | 38098.2 | 25.74 | 6.79 | -| restana | 4.9.9 | ✓ | 36832.6 | 26.64 | 6.57 | -| koa | 2.15.3 | ✗ | 35099.8 | 27.99 | 6.26 | -| take-five | 2.0.0 | ✓ | 34326.0 | 28.63 | 12.34 | -| koa-isomorphic-router | 1.0.1 | ✓ | 34147.4 | 28.79 | 6.09 | -| koa-router | 12.0.1 | ✓ | 33016.4 | 29.77 | 5.89 | -| restify | 11.1.0 | ✓ | 33004.2 | 29.80 | 5.95 | -| hapi | 21.3.10 | ✓ | 30669.6 | 32.11 | 5.47 | -| fastify-big-json | 4.28.1 | ✓ | 11576.2 | 85.81 | 133.19 | -| express | 4.19.2 | ✓ | 10516.8 | 94.51 | 1.88 | -| express-with-middlewares | 4.19.2 | ✓ | 9866.2 | 100.76 | 3.67 | +| bare | v20.16.0 | ✗ | 47068.8 | 20.74 | 8.39 | +| kita | 1.1.36 | ✓ | 46655.2 | 20.93 | 8.36 | +| polka | 0.5.2 | ✓ | 46292.8 | 21.10 | 8.26 | +| fastify | 4.28.1 | ✓ | 45872.0 | 21.28 | 8.22 | +| polkadot | 1.0.0 | ✗ | 45743.2 | 21.36 | 8.16 | +| connect | 3.7.0 | ✗ | 45487.2 | 21.48 | 8.11 | +| rayo | 1.4.6 | ✓ | 45317.6 | 21.59 | 8.08 | +| server-base | 7.1.32 | ✗ | 44484.8 | 22.01 | 7.93 | +| server-base-router | 7.1.32 | ✓ | 44197.6 | 22.13 | 7.88 | +| 0http | 3.5.3 | ✓ | 43016.8 | 22.75 | 7.67 | +| connect-router | 1.3.8 | ✓ | 42429.6 | 23.07 | 7.57 | +| h3 | 1.12.0 | ✗ | 41655.2 | 23.51 | 7.43 | +| h3-router | 1.12.0 | ✓ | 39810.4 | 24.62 | 7.10 | +| hono | 4.5.3 | ✓ | 39524.8 | 24.80 | 7.05 | +| restana | 4.9.9 | ✓ | 38471.0 | 25.50 | 6.86 | +| koa | 2.15.3 | ✗ | 36504.2 | 26.87 | 6.51 | +| koa-isomorphic-router | 1.0.1 | ✓ | 35105.0 | 27.98 | 6.26 | +| take-five | 2.0.0 | ✓ | 34787.8 | 28.26 | 12.51 | +| restify | 11.1.0 | ✓ | 34296.4 | 28.64 | 6.18 | +| koa-router | 12.0.1 | ✓ | 33427.6 | 29.39 | 5.96 | +| hapi | 21.3.10 | ✓ | 31595.2 | 31.14 | 5.63 | +| fastify-big-json | 4.28.1 | ✓ | 11939.2 | 83.21 | 137.36 | +| express | 4.19.2 | ✓ | 10989.0 | 90.37 | 1.96 | +| express-with-middlewares | 4.19.2 | ✓ | 10132.0 | 98.05 | 3.77 | | 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 690aec12..93c41fd7 100644 --- a/benchmark-results.json +++ b/benchmark-results.json @@ -1 +1 @@ -[{"name":"bare","version":"v20.15.1","requests":"47086.4","latency":"20.73","throughput":"8.40"},{"name":"connect","version":"3.7.0","requests":"46037.6","latency":"21.21","throughput":"8.21"},{"name":"fastify","version":"4.28.1","hasRouter":true,"requests":"45796.8","latency":"21.32","throughput":"8.21"},{"name":"polka","version":"0.5.2","hasRouter":true,"requests":"45577.6","latency":"21.44","throughput":"8.13"},{"name":"kita","version":"1.1.36","hasRouter":true,"requests":"45254.4","latency":"21.60","throughput":"8.11"},{"name":"rayo","version":"1.4.6","hasRouter":true,"requests":"44330.4","latency":"22.06","throughput":"7.90"},{"name":"0http","version":"3.5.3","hasRouter":true,"requests":"44258.4","latency":"22.10","throughput":"7.89"},{"name":"polkadot","version":"1.0.0","hasRouter":false,"requests":"43610.4","latency":"22.43","throughput":"7.78"},{"name":"server-base","version":"7.1.32","requests":"42955.2","latency":"22.78","throughput":"7.66"},{"name":"server-base-router","version":"7.1.32","hasRouter":true,"requests":"42711.2","latency":"22.91","throughput":"7.62"},{"name":"h3","version":"1.12.0","requests":"42542.4","latency":"23.01","throughput":"7.59"},{"name":"connect-router","version":"1.3.8","hasRouter":true,"requests":"41335.2","latency":"23.69","throughput":"7.37"},{"name":"h3-router","version":"1.12.0","hasRouter":true,"requests":"40656.0","latency":"24.09","throughput":"7.25"},{"name":"hono","version":"4.5.2","hasRouter":true,"requests":"38098.2","latency":"25.74","throughput":"6.79"},{"name":"restana","version":"4.9.9","hasRouter":true,"requests":"36832.6","latency":"26.64","throughput":"6.57"},{"name":"koa","version":"2.15.3","requests":"35099.8","latency":"27.99","throughput":"6.26"},{"name":"take-five","version":"2.0.0","hasRouter":true,"requests":"34326.0","latency":"28.63","throughput":"12.34"},{"name":"koa-isomorphic-router","version":"1.0.1","hasRouter":true,"requests":"34147.4","latency":"28.79","throughput":"6.09"},{"name":"koa-router","version":"12.0.1","hasRouter":true,"requests":"33016.4","latency":"29.77","throughput":"5.89"},{"name":"restify","version":"11.1.0","hasRouter":true,"requests":"33004.2","latency":"29.80","throughput":"5.95"},{"name":"hapi","version":"21.3.10","hasRouter":true,"requests":"30669.6","latency":"32.11","throughput":"5.47"},{"name":"fastify-big-json","version":"4.28.1","hasRouter":true,"requests":"11576.2","latency":"85.81","throughput":"133.19"},{"name":"express","version":"4.19.2","hasRouter":true,"requests":"10516.8","latency":"94.51","throughput":"1.88"},{"name":"express-with-middlewares","version":"4.19.2","hasRouter":true,"requests":"9866.2","latency":"100.76","throughput":"3.67"},{"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.16.0","requests":"47068.8","latency":"20.74","throughput":"8.39"},{"name":"kita","version":"1.1.36","hasRouter":true,"requests":"46655.2","latency":"20.93","throughput":"8.36"},{"name":"polka","version":"0.5.2","hasRouter":true,"requests":"46292.8","latency":"21.10","throughput":"8.26"},{"name":"fastify","version":"4.28.1","hasRouter":true,"requests":"45872.0","latency":"21.28","throughput":"8.22"},{"name":"polkadot","version":"1.0.0","hasRouter":false,"requests":"45743.2","latency":"21.36","throughput":"8.16"},{"name":"connect","version":"3.7.0","requests":"45487.2","latency":"21.48","throughput":"8.11"},{"name":"rayo","version":"1.4.6","hasRouter":true,"requests":"45317.6","latency":"21.59","throughput":"8.08"},{"name":"server-base","version":"7.1.32","requests":"44484.8","latency":"22.01","throughput":"7.93"},{"name":"server-base-router","version":"7.1.32","hasRouter":true,"requests":"44197.6","latency":"22.13","throughput":"7.88"},{"name":"0http","version":"3.5.3","hasRouter":true,"requests":"43016.8","latency":"22.75","throughput":"7.67"},{"name":"connect-router","version":"1.3.8","hasRouter":true,"requests":"42429.6","latency":"23.07","throughput":"7.57"},{"name":"h3","version":"1.12.0","requests":"41655.2","latency":"23.51","throughput":"7.43"},{"name":"h3-router","version":"1.12.0","hasRouter":true,"requests":"39810.4","latency":"24.62","throughput":"7.10"},{"name":"hono","version":"4.5.3","hasRouter":true,"requests":"39524.8","latency":"24.80","throughput":"7.05"},{"name":"restana","version":"4.9.9","hasRouter":true,"requests":"38471.0","latency":"25.50","throughput":"6.86"},{"name":"koa","version":"2.15.3","requests":"36504.2","latency":"26.87","throughput":"6.51"},{"name":"koa-isomorphic-router","version":"1.0.1","hasRouter":true,"requests":"35105.0","latency":"27.98","throughput":"6.26"},{"name":"take-five","version":"2.0.0","hasRouter":true,"requests":"34787.8","latency":"28.26","throughput":"12.51"},{"name":"restify","version":"11.1.0","hasRouter":true,"requests":"34296.4","latency":"28.64","throughput":"6.18"},{"name":"koa-router","version":"12.0.1","hasRouter":true,"requests":"33427.6","latency":"29.39","throughput":"5.96"},{"name":"hapi","version":"21.3.10","hasRouter":true,"requests":"31595.2","latency":"31.14","throughput":"5.63"},{"name":"fastify-big-json","version":"4.28.1","hasRouter":true,"requests":"11939.2","latency":"83.21","throughput":"137.36"},{"name":"express","version":"4.19.2","hasRouter":true,"requests":"10989.0","latency":"90.37","throughput":"1.96"},{"name":"express-with-middlewares","version":"4.19.2","hasRouter":true,"requests":"10132.0","latency":"98.05","throughput":"3.77"},{"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