@@ -35,25 +35,25 @@ In a router of 130 templates, benchmark matching 130 paths.
3535
3636| Library | Time (MBP) | Time (M93p) | Alloc Count | Alloc Size |
3737| :-----------------| -----------:| ------------:| ------------:| -----------:|
38- | matchit | 5.374 µs | 7.719 µs | 1 | 128 B |
39- | wayfind | 6.999 µs | 13.61 µs | 0 | n/a |
40- | path-tree | 9.374 µs | 15.61 µs | 0 | n/a |
41- | xitca-router | 14.62 µs | 20.13 µs | 103 | 13.18 KB |
42- | ntex-router | 44.81 µs | 74.84 µs | 306 | 22.97 KB |
43- | route-recognizer | 76.50 µs | 125.1 µs | 3596 | 195.6 KB |
44- | actix-router | 562.4 µs | 1.040 ms | 6934 | 447.4 KB |
38+ | matchit | 5.499 µs | 7.719 µs | 1 | 128 B |
39+ | wayfind | 7.374 µs | 13.61 µs | 0 | n/a |
40+ | path-tree | 9.124 µs | 15.61 µs | 0 | n/a |
41+ | xitca-router | 14.70 µs | 20.13 µs | 103 | 13.18 KB |
42+ | ntex-router | 44.24 µs | 74.84 µs | 306 | 22.97 KB |
43+ | route-recognizer | 76.05 µs | 125.1 µs | 3596 | 195.6 KB |
44+ | actix-router | 557.8 µs | 1.040 ms | 6934 | 447.4 KB |
4545
4646#### String Parameters
4747
4848| Library | Time (MBP) | Time (M93p) | Alloc Count | Alloc Size |
4949| :-----------------| -----------:| ------------:| ------------:| -----------:|
50- | wayfind | 8.333 µs | 17.86 µs | 103 | 6.464 KB |
51- | matchit | 10.79 µs | 14.15 µs | 104 | 13.31 KB |
52- | path-tree | 13.79 µs | 22.41 µs | 103 | 13.18 KB |
53- | xitca-router | 16.95 µs | 22.63 µs | 206 | 26.36 KB |
54- | ntex-router | 47.50 µs | 78.46 µs | 409 | 36.16 KB |
55- | route-recognizer | 77.91 µs | 128.8 µs | 3699 | 208.8 KB |
56- | actix-router | 569.5 µs | 1.039 ms | 7037 | 460.6 KB |
50+ | wayfind | 8.789 µs | 17.86 µs | 103 | 6.464 KB |
51+ | matchit | 10.70 µs | 14.15 µs | 104 | 13.31 KB |
52+ | path-tree | 13.28 µs | 22.41 µs | 103 | 13.18 KB |
53+ | xitca-router | 17.03 µs | 22.63 µs | 206 | 26.36 KB |
54+ | ntex-router | 47.11 µs | 78.46 µs | 409 | 36.16 KB |
55+ | route-recognizer | 77.42 µs | 128.8 µs | 3699 | 208.8 KB |
56+ | actix-router | 567.8 µs | 1.039 ms | 7037 | 460.6 KB |
5757
5858### ` path-tree ` inspired benches
5959
@@ -64,29 +64,21 @@ In a router of 320 templates, benchmark matching 80 paths.
6464| Library | Time (MBP) | Time (M93p) | Alloc Count | Alloc Size |
6565| :-----------------| -----------:| ------------:| ------------:| -----------:|
6666| wayfind | 3.624 µs | 6.364 µs | 0 | n/a |
67- | path-tree | 5.165 µs | 8.059 µs | 0 | n/a |
68- | matchit | 6.109 µs | 7.498 µs | 81 | 10.36 KB |
69- | xitca-router | 9.477 µs | 11.70 µs | 150 | 18.06 KB |
70- | ntex-router | 27.94 µs | 46.75 µs | 142 | 12.09 KB |
71- | route-recognizer | 74.41 µs | 128.1 µs | 2813 | 184.2 KB |
72- | actix-router | 188.3 µs | 335.5 µs | 2142 | 121.4 KB |
67+ | path-tree | 4.833 µs | 8.059 µs | 0 | n/a |
68+ | matchit | 6.124 µs | 7.498 µs | 81 | 10.36 KB |
69+ | xitca-router | 9.541 µs | 11.70 µs | 150 | 18.06 KB |
70+ | ntex-router | 28.24 µs | 46.75 µs | 142 | 12.09 KB |
71+ | route-recognizer | 77.49 µs | 128.1 µs | 2813 | 184.2 KB |
72+ | actix-router | 188.5 µs | 335.5 µs | 2142 | 121.4 KB |
7373
7474#### String Parameters
7575
7676| Library | Time (MBP) | Time (M93p) | Alloc Count | Alloc Size |
7777| :-----------------| -----------:| ------------:| ------------:| -----------:|
78- | wayfind | 4.375 µs | 7.991 µs | 58 | 2.528 KB |
79- | path-tree | 7.333 µs | 11.53 µs | 58 | 7.424 KB |
80- | matchit | 7.777 µs | 11.44 µs | 139 | 17.79 KB |
81- | xitca-router | 10.47 µs | 12.74 µs | 208 | 25.49 KB |
82- | ntex-router | 29.52 µs | 49.12 µs | 200 | 19.52 KB |
83- | route-recognizer | 75.12 µs | 130.0 µs | 2871 | 191.6 KB |
84- | actix-router | 190.8 µs | 330.5 µs | 2200 | 128.8 KB |
85-
86- ## ` wayfind ` benches
87-
88- TODO.
89-
90- The features ` wayfind ` provides come with inherent risk.
91- It is possible to insert a 'bad template' that poisons the performance of the entire router.
92- As such, it would be nice to have more ` wayfind ` focused benchmarks, to measure such scenarios.
78+ | wayfind | 4.333 µs | 7.991 µs | 58 | 2.528 KB |
79+ | path-tree | 7.374 µs | 11.53 µs | 58 | 7.424 KB |
80+ | matchit | 7.749 µs | 11.44 µs | 139 | 17.79 KB |
81+ | xitca-router | 10.45 µs | 12.74 µs | 208 | 25.49 KB |
82+ | ntex-router | 29.87 µs | 49.12 µs | 200 | 19.52 KB |
83+ | route-recognizer | 78.29 µs | 130.0 µs | 2871 | 191.6 KB |
84+ | actix-router | 191.5 µs | 330.5 µs | 2200 | 128.8 KB |
0 commit comments