Benchmarks are mainly focusing on benchmarking lookup
method performance.
Below results are based on my personal PC using Windows 11. You can use provided scripts to test in your own env.
Directly benchmarking lookup
performance using benchmark
Scripts:
- ποΈββοΈ
nyxr bench
- ποΈββοΈ
nyxr bench:profile
(using 0x to generate flamegraph)
--- π§ͺ Test environment ---
Node.js version: 18.16.0
radix-rapid version: 0.0.1
OS: win32
CPU count: 8
Current load: [ 0, 0, 0 ]
--- π§ static route ---
lookup x 18,670,265 ops/sec Β±4.69% (76 runs sampled)
Stats:
- /choot: 96837315
--- π§ dynamic route ---
lookup x 403,374 ops/sec Β±3.18% (63 runs sampled)
Stats:
- /choot/123: 2065943
Using autocannon
and a simple http listener using lookup for realworld performance.
Scripts:
- π
nyxr bench:http
--- π§ͺ Test environment ---
Node.js version: 18.16.0
radix-rapid version: 0.0.1
OS: win32
CPU count: 8
Current load: [ 0, 0, 0 ]
--- π Benchmark: static route ---
Running 10s test @ http://localhost:3000/
10 connections
βββββββββββ¬βββββββ¬βββββββ¬ββββββββ¬βββββββ¬ββββββββββ¬ββββββββββ¬ββββββββ
β Stat β 2.5% β 50% β 97.5% β 99% β Avg β Stdev β Max β
βββββββββββΌβββββββΌβββββββΌββββββββΌβββββββΌββββββββββΌββββββββββΌββββββββ€
β Latency β 0 ms β 0 ms β 1 ms β 2 ms β 0.13 ms β 0.65 ms β 30 ms β
βββββββββββ΄βββββββ΄βββββββ΄ββββββββ΄βββββββ΄ββββββββββ΄ββββββββββ΄ββββββββ
βββββββββββββ¬ββββββββββ¬ββββββββββ¬ββββββββββ¬ββββββββββ¬ββββββββββ¬ββββββββββ¬ββββββββββ
β Stat β 1% β 2.5% β 50% β 97.5% β Avg β Stdev β Min β
βββββββββββββΌββββββββββΌββββββββββΌββββββββββΌββββββββββΌββββββββββΌββββββββββΌββββββββββ€
β Req/Sec β 9663 β 9663 β 17183 β 21935 β 15848.8 β 4391.92 β 9660 β
βββββββββββββΌββββββββββΌββββββββββΌββββββββββΌββββββββββΌββββββββββΌββββββββββΌββββββββββ€
β Bytes/Sec β 1.35 MB β 1.35 MB β 2.41 MB β 3.07 MB β 2.22 MB β 615 kB β 1.35 MB β
βββββββββββββ΄ββββββββββ΄ββββββββββ΄ββββββββββ΄ββββββββββ΄ββββββββββ΄ββββββββββ΄ββββββββββ
Req/Bytes counts sampled once per second.
# of samples: 10
159k requests in 10.02s, 22.2 MB read
Stats:
- /choot: 158510
--- π Benchmark: dynamic route ---
Running 10s test @ http://localhost:3000/
10 connections
βββββββββββ¬βββββββ¬βββββββ¬ββββββββ¬βββββββ¬ββββββββββ¬ββββββββββ¬ββββββββ
β Stat β 2.5% β 50% β 97.5% β 99% β Avg β Stdev β Max β
βββββββββββΌβββββββΌβββββββΌββββββββΌβββββββΌββββββββββΌββββββββββΌββββββββ€
β Latency β 0 ms β 0 ms β 1 ms β 2 ms β 0.14 ms β 0.56 ms β 17 ms β
βββββββββββ΄βββββββ΄βββββββ΄ββββββββ΄βββββββ΄ββββββββββ΄ββββββββββ΄ββββββββ
βββββββββββββ¬ββββββββββ¬ββββββββββ¬ββββββββββ¬ββββββββ¬ββββββββββ¬ββββββββββ¬ββββββββββ
β Stat β 1% β 2.5% β 50% β 97.5% β Avg β Stdev β Min β
βββββββββββββΌββββββββββΌββββββββββΌββββββββββΌββββββββΌββββββββββΌββββββββββΌββββββββββ€
β Req/Sec β 9663 β 9663 β 14935 β 17631 β 14243.6 β 2791.28 β 9660 β
βββββββββββββΌββββββββββΌββββββββββΌββββββββββΌββββββββΌββββββββββΌββββββββββΌββββββββββ€
β Bytes/Sec β 1.64 MB β 1.64 MB β 2.54 MB β 3 MB β 2.42 MB β 475 kB β 1.64 MB β
βββββββββββββ΄ββββββββββ΄ββββββββββ΄ββββββββββ΄ββββββββ΄ββββββββββ΄ββββββββββ΄ββββββββββ
Req/Bytes counts sampled once per second.
# of samples: 10
142k requests in 10.01s, 24.2 MB read
Stats:
- /choot/123: 142410