Skip to content

Latest commit

 

History

History
 
 

benchmark

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Benchmarks

Sample apps

All apps employ two global middlewares with req mutations, an empty GET route handler for favicon.ico and a GET handler for the /users/:id, returning a User: {id} string response.

Benchmarking command

Results are taken after 1 warm-up run. The command used for results is the following:

node run.mjs

run.mjs is a script that launches a child process with the app and runs benchmarks against it, recursively, going to the next app in the list.

Information

Hardware

Xiaomi Laptop with 16GB RAM and Intel Core i7-8550U processor.

Software

  • OS: Manjaro Linux
  • Kernel version: 5.6.16-1-MANJARO
  • Node.js: 14.5.0

Results

Note that benchmarks aren't completely accurate and are different on every run and on every machine.

The table takes average results

framework req/s transfer/sec
@tinyhttp/app (esm) 28680 3.1 MB
@tinyhttp/app (cjs) 29144 3.15 MB
[email protected] 11902 1.56 MB
[email protected] 37249 4.02 MB

Detailed results

  • tinyhttp (esm)
┌─────────┬──────┬──────┬───────┬──────┬────────┬─────────┬──────────┐
│ Stat    │ 2.5% │ 50%  │ 97.5% │ 99%  │ Avg    │ Stdev   │ Max      │
├─────────┼──────┼──────┼───────┼──────┼────────┼─────────┼──────────┤
│ Latency │ 2 ms │ 3 ms │ 6 ms  │ 9 ms │ 3.2 ms │ 1.56 ms │ 49.27 ms │
└─────────┴──────┴──────┴───────┴──────┴────────┴─────────┴──────────┘
┌───────────┬─────────┬─────────┬─────────┬─────────┬────────┬─────────┬─────────┐
│ Stat      │ 1%      │ 2.5%    │ 50%     │ 97.5%   │ Avg    │ Stdev   │ Min     │
├───────────┼─────────┼─────────┼─────────┼─────────┼────────┼─────────┼─────────┤
│ Req/Sec   │ 20095   │ 20095   │ 30655   │ 31359   │ 28680  │ 4324.96 │ 20084   │
├───────────┼─────────┼─────────┼─────────┼─────────┼────────┼─────────┼─────────┤
│ Bytes/Sec │ 2.17 MB │ 2.17 MB │ 3.31 MB │ 3.39 MB │ 3.1 MB │ 467 kB  │ 2.17 MB │
└───────────┴─────────┴─────────┴─────────┴─────────┴────────┴─────────┴─────────┘

Req/Bytes counts sampled once per second.

143k requests in 5.07s, 15.5 MB read
100 errors (0 timeouts)
  • tinyhttp (cjs)
┌─────────┬──────┬──────┬───────┬──────┬─────────┬────────┬──────────┐
│ Stat    │ 2.5% │ 50%  │ 97.5% │ 99%  │ Avg     │ Stdev  │ Max      │
├─────────┼──────┼──────┼───────┼──────┼─────────┼────────┼──────────┤
│ Latency │ 2 ms │ 3 ms │ 5 ms  │ 9 ms │ 3.14 ms │ 2.2 ms │ 80.88 ms │
└─────────┴──────┴──────┴───────┴──────┴─────────┴────────┴──────────┘
┌───────────┬─────────┬─────────┬────────┬─────────┬─────────┬────────┬─────────┐
│ Stat      │ 1%      │ 2.5%    │ 50%    │ 97.5%   │ Avg     │ Stdev  │ Min     │
├───────────┼─────────┼─────────┼────────┼─────────┼─────────┼────────┼─────────┤
│ Req/Sec   │ 18607   │ 18607   │ 31471  │ 32639   │ 29144   │ 5311.7 │ 18592   │
├───────────┼─────────┼─────────┼────────┼─────────┼─────────┼────────┼─────────┤
│ Bytes/Sec │ 2.01 MB │ 2.01 MB │ 3.4 MB │ 3.52 MB │ 3.15 MB │ 574 kB │ 2.01 MB │
└───────────┴─────────┴─────────┴────────┴─────────┴─────────┴────────┴─────────┘

Req/Bytes counts sampled once per second.

146k requests in 5.04s, 15.7 MB read
400 errors (0 timeouts)
┌─────────┬──────┬──────┬───────┬───────┬─────────┬─────────┬──────────┐
│ Stat    │ 2.5% │ 50%  │ 97.5% │ 99%   │ Avg     │ Stdev   │ Max      │
├─────────┼──────┼──────┼───────┼───────┼─────────┼─────────┼──────────┤
│ Latency │ 6 ms │ 7 ms │ 15 ms │ 18 ms │ 7.74 ms │ 3.55 ms │ 79.81 ms │
└─────────┴──────┴──────┴───────┴───────┴─────────┴─────────┴──────────┘
┌───────────┬────────┬────────┬─────────┬─────────┬─────────┬─────────┬────────┐
│ Stat      │ 1%     │ 2.5%   │ 50%     │ 97.5%   │ Avg     │ Stdev   │ Min    │
├───────────┼────────┼────────┼─────────┼─────────┼─────────┼─────────┼────────┤
│ Req/Sec   │ 6923   │ 6923   │ 13079   │ 13607   │ 11902.8 │ 2521.49 │ 6920   │
├───────────┼────────┼────────┼─────────┼─────────┼─────────┼─────────┼────────┤
│ Bytes/Sec │ 907 kB │ 907 kB │ 1.71 MB │ 1.78 MB │ 1.56 MB │ 330 kB  │ 907 kB │
└───────────┴────────┴────────┴─────────┴─────────┴─────────┴─────────┴────────┘

Req/Bytes counts sampled once per second.

60k requests in 5.03s, 7.8 MB read
700 errors (0 timeouts)
┌─────────┬──────┬──────┬───────┬──────┬─────────┬─────────┬─────────┐
│ Stat    │ 2.5% │ 50%  │ 97.5% │ 99%  │ Avg     │ Stdev   │ Max     │
├─────────┼──────┼──────┼───────┼──────┼─────────┼─────────┼─────────┤
│ Latency │ 2 ms │ 2 ms │ 4 ms  │ 7 ms │ 2.19 ms │ 1.55 ms │ 58.1 ms │
└─────────┴──────┴──────┴───────┴──────┴─────────┴─────────┴─────────┘
┌───────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐
│ Stat      │ 1%      │ 2.5%    │ 50%     │ 97.5%   │ Avg     │ Stdev   │ Min     │
├───────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
│ Req/Sec   │ 25647   │ 25647   │ 39583   │ 40991   │ 37249.6 │ 5839.08 │ 25642   │
├───────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
│ Bytes/Sec │ 2.77 MB │ 2.77 MB │ 4.27 MB │ 4.43 MB │ 4.02 MB │ 630 kB  │ 2.77 MB │
└───────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘

Req/Bytes counts sampled once per second.

186k requests in 5.03s, 20.1 MB read
252 errors (0 timeouts)