Skip to content

Commit 7bb48fc

Browse files
committed
Update benchmark results
1 parent 0e3e9e7 commit 7bb48fc

File tree

1 file changed

+27
-35
lines changed

1 file changed

+27
-35
lines changed

BENCHMARKING.md

Lines changed: 27 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)