diff --git a/README.md b/README.md index 82b0c7b3..c61efbbb 100644 --- a/README.md +++ b/README.md @@ -46,35 +46,35 @@ node ./benchmark [arguments (optional)] * __Machine:__ linux x64 | 4 vCPUs | 15.6GB Mem * __Node:__ `v20.17.0` -* __Run:__ Mon Oct 07 2024 01:49:30 GMT+0000 (Coordinated Universal Time) +* __Run:__ Mon Oct 14 2024 01:49:21 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.17.0 | ✗ | 46448.8 | 21.02 | 8.28 | -| fastify | 5.0.0 | ✓ | 45497.6 | 21.47 | 8.16 | -| polka | 0.5.2 | ✓ | 45340.0 | 21.56 | 8.09 | -| server-base | 7.1.32 | ✗ | 45147.2 | 21.67 | 8.05 | -| server-base-router | 7.1.32 | ✓ | 44916.0 | 21.78 | 8.01 | -| connect | 3.7.0 | ✗ | 44222.4 | 22.11 | 7.89 | -| 0http | 3.5.3 | ✓ | 43778.4 | 22.35 | 7.81 | -| polkadot | 1.0.0 | ✗ | 43240.0 | 22.63 | 7.71 | -| micro | 10.0.1 | ✗ | 43107.2 | 22.70 | 7.69 | -| rayo | 1.4.6 | ✓ | 42604.0 | 22.97 | 7.60 | -| connect-router | 1.3.8 | ✓ | 42317.6 | 23.13 | 7.55 | -| micro-route | 2.5.0 | ✓ | 41241.6 | 23.75 | 7.35 | -| h3 | 1.13.0 | ✗ | 39692.0 | 24.70 | 7.08 | -| restana | 4.9.9 | ✓ | 39293.6 | 24.95 | 7.01 | -| hono | 4.6.3 | ✓ | 38809.6 | 25.27 | 6.92 | -| h3-router | 1.13.0 | ✓ | 38130.4 | 25.73 | 6.80 | -| koa | 2.15.3 | ✗ | 36351.4 | 27.00 | 6.48 | -| take-five | 2.0.0 | ✓ | 34684.2 | 28.34 | 12.47 | -| restify | 11.1.0 | ✓ | 34370.0 | 28.58 | 6.20 | -| koa-isomorphic-router | 1.0.1 | ✓ | 33937.4 | 28.96 | 6.05 | -| koa-router | 12.0.1 | ✓ | 32686.2 | 30.09 | 5.83 | -| hapi | 21.3.10 | ✓ | 30553.6 | 32.22 | 5.45 | -| microrouter | 3.1.3 | ✓ | 28810.8 | 34.20 | 5.14 | -| fastify-big-json | 5.0.0 | ✓ | 11749.2 | 84.54 | 135.18 | -| express | 5.0.0 | ✓ | 10001.0 | 99.37 | 1.78 | -| express-with-middlewares | 5.0.0 | ✓ | 9097.3 | 109.30 | 3.38 | +| fastify | 5.0.0 | ✓ | 46836.0 | 20.84 | 8.40 | +| polka | 0.5.2 | ✓ | 45924.0 | 21.27 | 8.19 | +| bare | v20.17.0 | ✗ | 45556.8 | 21.45 | 8.12 | +| rayo | 1.4.6 | ✓ | 45484.8 | 21.48 | 8.11 | +| server-base-router | 7.1.32 | ✓ | 44819.2 | 21.82 | 7.99 | +| server-base | 7.1.32 | ✗ | 44659.2 | 21.90 | 7.96 | +| polkadot | 1.0.0 | ✗ | 44528.0 | 21.96 | 7.94 | +| micro | 10.0.1 | ✗ | 44251.2 | 22.10 | 7.89 | +| connect | 3.7.0 | ✗ | 43463.2 | 22.51 | 7.75 | +| 0http | 3.5.3 | ✓ | 42397.6 | 23.09 | 7.56 | +| connect-router | 1.3.8 | ✓ | 41432.8 | 23.64 | 7.39 | +| micro-route | 2.5.0 | ✓ | 41028.8 | 23.87 | 7.32 | +| hono | 4.6.4 | ✓ | 39308.0 | 24.93 | 7.01 | +| h3-router | 1.13.0 | ✓ | 38413.6 | 25.54 | 6.85 | +| restana | 4.9.9 | ✓ | 38394.4 | 25.55 | 6.85 | +| h3 | 1.13.0 | ✗ | 38191.2 | 25.68 | 6.81 | +| koa | 2.15.3 | ✗ | 36278.6 | 27.06 | 6.47 | +| restify | 11.1.0 | ✓ | 33929.0 | 28.96 | 6.12 | +| take-five | 2.0.0 | ✓ | 33845.2 | 29.04 | 12.17 | +| koa-isomorphic-router | 1.0.1 | ✓ | 33290.0 | 29.54 | 5.94 | +| koa-router | 12.0.1 | ✓ | 32769.8 | 30.02 | 5.84 | +| hapi | 21.3.10 | ✓ | 30121.6 | 32.69 | 5.37 | +| microrouter | 3.1.3 | ✓ | 29785.6 | 33.06 | 5.31 | +| fastify-big-json | 5.0.0 | ✓ | 11744.8 | 84.57 | 135.13 | +| express | 5.0.1 | ✓ | 9647.9 | 103.07 | 1.72 | +| express-with-middlewares | 5.0.1 | ✓ | 8886.1 | 111.90 | 3.30 | | trpc-router | 10.45.2 | ✓ | N/A | N/A | N/A | diff --git a/benchmark-results.json b/benchmark-results.json index 3d485896..d79cf4d4 100644 --- a/benchmark-results.json +++ b/benchmark-results.json @@ -1 +1 @@ -[{"name":"bare","version":"v20.17.0","requests":"46448.8","latency":"21.02","throughput":"8.28"},{"name":"fastify","version":"5.0.0","hasRouter":true,"requests":"45497.6","latency":"21.47","throughput":"8.16"},{"name":"polka","version":"0.5.2","hasRouter":true,"requests":"45340.0","latency":"21.56","throughput":"8.09"},{"name":"server-base","version":"7.1.32","requests":"45147.2","latency":"21.67","throughput":"8.05"},{"name":"server-base-router","version":"7.1.32","hasRouter":true,"requests":"44916.0","latency":"21.78","throughput":"8.01"},{"name":"connect","version":"3.7.0","requests":"44222.4","latency":"22.11","throughput":"7.89"},{"name":"0http","version":"3.5.3","hasRouter":true,"requests":"43778.4","latency":"22.35","throughput":"7.81"},{"name":"polkadot","version":"1.0.0","hasRouter":false,"requests":"43240.0","latency":"22.63","throughput":"7.71"},{"name":"micro","version":"10.0.1","requests":"43107.2","latency":"22.70","throughput":"7.69"},{"name":"rayo","version":"1.4.6","hasRouter":true,"requests":"42604.0","latency":"22.97","throughput":"7.60"},{"name":"connect-router","version":"1.3.8","hasRouter":true,"requests":"42317.6","latency":"23.13","throughput":"7.55"},{"name":"micro-route","version":"2.5.0","hasRouter":true,"requests":"41241.6","latency":"23.75","throughput":"7.35"},{"name":"h3","version":"1.13.0","requests":"39692.0","latency":"24.70","throughput":"7.08"},{"name":"restana","version":"4.9.9","hasRouter":true,"requests":"39293.6","latency":"24.95","throughput":"7.01"},{"name":"hono","version":"4.6.3","hasRouter":true,"requests":"38809.6","latency":"25.27","throughput":"6.92"},{"name":"h3-router","version":"1.13.0","hasRouter":true,"requests":"38130.4","latency":"25.73","throughput":"6.80"},{"name":"koa","version":"2.15.3","requests":"36351.4","latency":"27.00","throughput":"6.48"},{"name":"take-five","version":"2.0.0","hasRouter":true,"requests":"34684.2","latency":"28.34","throughput":"12.47"},{"name":"restify","version":"11.1.0","hasRouter":true,"requests":"34370.0","latency":"28.58","throughput":"6.20"},{"name":"koa-isomorphic-router","version":"1.0.1","hasRouter":true,"requests":"33937.4","latency":"28.96","throughput":"6.05"},{"name":"koa-router","version":"12.0.1","hasRouter":true,"requests":"32686.2","latency":"30.09","throughput":"5.83"},{"name":"hapi","version":"21.3.10","hasRouter":true,"requests":"30553.6","latency":"32.22","throughput":"5.45"},{"name":"microrouter","version":"3.1.3","hasRouter":true,"requests":"28810.8","latency":"34.20","throughput":"5.14"},{"name":"fastify-big-json","version":"5.0.0","hasRouter":true,"requests":"11749.2","latency":"84.54","throughput":"135.18"},{"name":"express","version":"5.0.0","hasRouter":true,"requests":"10001.0","latency":"99.37","throughput":"1.78"},{"name":"express-with-middlewares","version":"5.0.0","hasRouter":true,"requests":"9097.3","latency":"109.30","throughput":"3.38"},{"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":"fastify","version":"5.0.0","hasRouter":true,"requests":"46836.0","latency":"20.84","throughput":"8.40"},{"name":"polka","version":"0.5.2","hasRouter":true,"requests":"45924.0","latency":"21.27","throughput":"8.19"},{"name":"bare","version":"v20.17.0","requests":"45556.8","latency":"21.45","throughput":"8.12"},{"name":"rayo","version":"1.4.6","hasRouter":true,"requests":"45484.8","latency":"21.48","throughput":"8.11"},{"name":"server-base-router","version":"7.1.32","hasRouter":true,"requests":"44819.2","latency":"21.82","throughput":"7.99"},{"name":"server-base","version":"7.1.32","requests":"44659.2","latency":"21.90","throughput":"7.96"},{"name":"polkadot","version":"1.0.0","hasRouter":false,"requests":"44528.0","latency":"21.96","throughput":"7.94"},{"name":"micro","version":"10.0.1","requests":"44251.2","latency":"22.10","throughput":"7.89"},{"name":"connect","version":"3.7.0","requests":"43463.2","latency":"22.51","throughput":"7.75"},{"name":"0http","version":"3.5.3","hasRouter":true,"requests":"42397.6","latency":"23.09","throughput":"7.56"},{"name":"connect-router","version":"1.3.8","hasRouter":true,"requests":"41432.8","latency":"23.64","throughput":"7.39"},{"name":"micro-route","version":"2.5.0","hasRouter":true,"requests":"41028.8","latency":"23.87","throughput":"7.32"},{"name":"hono","version":"4.6.4","hasRouter":true,"requests":"39308.0","latency":"24.93","throughput":"7.01"},{"name":"h3-router","version":"1.13.0","hasRouter":true,"requests":"38413.6","latency":"25.54","throughput":"6.85"},{"name":"restana","version":"4.9.9","hasRouter":true,"requests":"38394.4","latency":"25.55","throughput":"6.85"},{"name":"h3","version":"1.13.0","requests":"38191.2","latency":"25.68","throughput":"6.81"},{"name":"koa","version":"2.15.3","requests":"36278.6","latency":"27.06","throughput":"6.47"},{"name":"restify","version":"11.1.0","hasRouter":true,"requests":"33929.0","latency":"28.96","throughput":"6.12"},{"name":"take-five","version":"2.0.0","hasRouter":true,"requests":"33845.2","latency":"29.04","throughput":"12.17"},{"name":"koa-isomorphic-router","version":"1.0.1","hasRouter":true,"requests":"33290.0","latency":"29.54","throughput":"5.94"},{"name":"koa-router","version":"12.0.1","hasRouter":true,"requests":"32769.8","latency":"30.02","throughput":"5.84"},{"name":"hapi","version":"21.3.10","hasRouter":true,"requests":"30121.6","latency":"32.69","throughput":"5.37"},{"name":"microrouter","version":"3.1.3","hasRouter":true,"requests":"29785.6","latency":"33.06","throughput":"5.31"},{"name":"fastify-big-json","version":"5.0.0","hasRouter":true,"requests":"11744.8","latency":"84.57","throughput":"135.13"},{"name":"express","version":"5.0.1","hasRouter":true,"requests":"9647.9","latency":"103.07","throughput":"1.72"},{"name":"express-with-middlewares","version":"5.0.1","hasRouter":true,"requests":"8886.1","latency":"111.90","throughput":"3.30"},{"name":"trpc-router","version":"10.45.2","hasRouter":true,"requests":"N/A","latency":"N/A","throughput":"N/A"}] \ No newline at end of file