What's Changed
- Bump github.com/gin-gonic/gin from 1.8.1 to 1.8.2 by @dependabot in #15
- Update goblin to 6.0.2 and reports by @bmf-san in #16
Full Changelog: 2.0.0...2.0.1
Results
Benchmark results are published in a spreadsheet.
go-router-benchmark
Benchmark system
- go version: go1.19
- goos: darwin
- goarch: amd64
- pkg: github.com/go-router-benchmark
- cpu: VirtualApple @ 2.50GHz
Static routes
time
time |
static-routes-root |
static-routes-1 |
static-routes-5 |
static-routes-10 |
servemux |
22326099 |
22221638 |
13315640 |
8833089 |
goblin |
36488626 |
16842892 |
5596704 |
2954113 |
httprouter |
100000000 |
89831284 |
90506269 |
78500426 |
chi |
5444018 |
5507234 |
5507876 |
5434119 |
gin |
34423407 |
33918145 |
33814206 |
33427231 |
bunrouter |
64793797 |
54832910 |
54696386 |
54530683 |
httptreemux |
6643852 |
6495336 |
5263798 |
4144136 |
beegomux |
23409304 |
16145904 |
1000000 |
576976 |
gorillamux |
2138784 |
2112379 |
1888113 |
1849734 |
bon |
58644336 |
75074289 |
75386946 |
71121824 |
denco |
76661395 |
79387834 |
78444615 |
76890422 |
echo |
35956402 |
34636906 |
22299979 |
13134742 |
gocraftweb |
1287339 |
1267345 |
1000000 |
871116 |
gorouter |
34712218 |
26967124 |
16617764 |
8033125 |
ozzorouting |
32717011 |
36112761 |
24745796 |
18973456 |
techbook13-sample |
8303772 |
6282072 |
2716520 |
1384425 |
Graph - time
nsop
nsop |
static-routes-root |
static-routes-1 |
static-routes-5 |
static-routes-10 |
servemux |
52.1 |
54.81 |
89.24 |
136.2 |
goblin |
33.08 |
68.89 |
209.3 |
406.1 |
httprouter |
10.57 |
13.77 |
13.87 |
15.81 |
chi |
212.1 |
217.3 |
214.1 |
216.1 |
gin |
34.95 |
35.42 |
35.3 |
35.71 |
bunrouter |
18.83 |
21.58 |
21.85 |
21.94 |
httptreemux |
178.8 |
184.1 |
226.5 |
287.8 |
beegomux |
50.65 |
72.42 |
1074 |
2039 |
gorillamux |
563.6 |
570 |
620.1 |
649.3 |
bon |
20.41 |
16.14 |
16.02 |
16.86 |
denco |
15.85 |
15.28 |
15.31 |
16.05 |
echo |
32.97 |
34.06 |
53.8 |
90.54 |
gocraftweb |
929.6 |
945.4 |
1075 |
1212 |
gorouter |
35.38 |
44.54 |
71.98 |
149.4 |
ozzorouting |
39.76 |
33.46 |
47.27 |
62.27 |
techbook13-sample |
145.2 |
189.3 |
447.4 |
865 |
Graph - nsop
bop
bop |
static-routes-root |
static-routes-1 |
static-routes-5 |
static-routes-10 |
servemux |
0 |
0 |
0 |
0 |
goblin |
0 |
16 |
80 |
160 |
httprouter |
0 |
0 |
0 |
0 |
chi |
304 |
304 |
304 |
304 |
gin |
0 |
0 |
0 |
0 |
bunrouter |
0 |
0 |
0 |
0 |
httptreemux |
328 |
328 |
328 |
328 |
beegomux |
32 |
32 |
32 |
32 |
gorillamux |
720 |
720 |
720 |
720 |
bon |
0 |
0 |
0 |
0 |
denco |
0 |
0 |
0 |
0 |
echo |
0 |
0 |
0 |
0 |
gocraftweb |
288 |
288 |
352 |
432 |
gorouter |
0 |
0 |
0 |
0 |
ozzorouting |
0 |
0 |
0 |
0 |
techbook13-sample |
304 |
308 |
432 |
872 |
Graph - bop
allocs
allocs |
static-routes-root |
static-routes-1 |
static-routes-5 |
static-routes-10 |
servemux |
0 |
0 |
0 |
0 |
goblin |
0 |
1 |
1 |
1 |
httprouter |
0 |
0 |
0 |
0 |
chi |
2 |
2 |
2 |
2 |
gin |
0 |
0 |
0 |
0 |
bunrouter |
0 |
0 |
0 |
0 |
httptreemux |
3 |
3 |
3 |
3 |
beegomux |
1 |
1 |
1 |
1 |
gorillamux |
7 |
7 |
7 |
7 |
bon |
0 |
0 |
0 |
0 |
denco |
0 |
0 |
0 |
0 |
echo |
0 |
0 |
0 |
0 |
gocraftweb |
6 |
6 |
6 |
6 |
gorouter |
0 |
0 |
0 |
0 |
ozzorouting |
0 |
0 |
0 |
0 |
techbook13-sample |
2 |
3 |
11 |
21 |
Graph - allocs
Pathparams routes
time
time |
pathparam-routes-1 |
pathparam-routes-5 |
pathparam-routes-10 |
goblin |
1982352 |
558514 |
309733 |
httprouter |
26343277 |
9935683 |
5878401 |
chi |
4295593 |
2661771 |
1872310 |
gin |
28992159 |
15262336 |
9485934 |
bunrouter |
36372362 |
8543359 |
4185458 |
httptreemux |
3131305 |
1570034 |
800544 |
beegomux |
3223519 |
785046 |
341499 |
gorillamux |
1343919 |
497670 |
223892 |
bon |
6345180 |
4494978 |
3316269 |
denco |
18371928 |
8272776 |
4986136 |
echo |
30776793 |
12063312 |
6765202 |
gocraftweb |
928831 |
701330 |
478106 |
gorouter |
4774634 |
3027898 |
2249437 |
ozzorouting |
28624587 |
13896279 |
8578918 |
techbook13-sample |
3140194 |
958357 |
513632 |
Graph - time
nsop
nsop |
pathparam-routes-1 |
pathparam-routes-5 |
pathparam-routes-10 |
goblin |
593.8 |
1959 |
3742 |
httprouter |
44.82 |
118 |
201.8 |
chi |
279.6 |
444.7 |
639.5 |
gin |
41.17 |
77.84 |
126.2 |
bunrouter |
32.89 |
140.2 |
287.7 |
httptreemux |
377.9 |
769.9 |
1486 |
beegomux |
375.1 |
1442 |
3388 |
gorillamux |
888.9 |
2285 |
5239 |
bon |
188 |
266 |
360.4 |
denco |
58.08 |
143.6 |
240 |
echo |
38.51 |
98.88 |
176.6 |
gocraftweb |
1159 |
1541 |
2230 |
gorouter |
249.8 |
395.5 |
531 |
ozzorouting |
42.01 |
85.95 |
139.3 |
techbook13-sample |
381.8 |
1163 |
2165 |
Graph - nsop
bop
bop |
pathparam-routes-1 |
pathparam-routes-5 |
pathparam-routes-10 |
goblin |
376 |
591 |
810 |
httprouter |
32 |
160 |
320 |
chi |
304 |
304 |
304 |
gin |
0 |
0 |
0 |
bunrouter |
0 |
0 |
0 |
httptreemux |
680 |
904 |
1742 |
beegomux |
672 |
672 |
1254 |
gorillamux |
1024 |
1088 |
1751 |
bon |
304 |
304 |
304 |
denco |
32 |
160 |
320 |
echo |
0 |
0 |
0 |
gocraftweb |
656 |
944 |
1862 |
gorouter |
360 |
488 |
648 |
ozzorouting |
0 |
0 |
0 |
techbook13-sample |
432 |
968 |
1792 |
Graph - bop
allocs
allocs |
pathparam-routes-1 |
pathparam-routes-5 |
pathparam-routes-10 |
goblin |
5 |
9 |
14 |
httprouter |
1 |
1 |
1 |
chi |
2 |
2 |
2 |
gin |
0 |
0 |
0 |
bunrouter |
0 |
0 |
0 |
httptreemux |
6 |
9 |
11 |
beegomux |
5 |
5 |
6 |
gorillamux |
8 |
8 |
9 |
bon |
2 |
2 |
2 |
denco |
1 |
1 |
1 |
echo |
0 |
0 |
0 |
gocraftweb |
9 |
12 |
14 |
gorouter |
4 |
4 |
4 |
ozzorouting |
0 |
0 |
0 |
techbook13-sample |
10 |
33 |
59 |
Graph - allocs