Go 路由功能测试数据

数据根据测试环境的不同,会有不同的呈现,仅可作为参考用。

#测试环境

#所有(964)

所有接口混合测试

路由 ns/op B/op allocs/op 内存(KB) 未命中
dimfeld-httptreemux/v5 3567 2062 18 692.61 ⚡️️ 2
fasthttp-router 3665 2190 20 4689.59
gorilla-mux 55578 2736 21 22328.59
issue9-mux/v7 3451 ⚡️️ 1909 ⚡️️ 16 ⚡️️ 13212.55

#Twitter API(128)

采集自 Twitter 的 API,以静态路由为主。

路由 ns/op B/op allocs/op 内存(KB) 未命中
dimfeld-httptreemux/v5 2258 1571 ⚡️️ 14 38.81 ⚡️️
fasthttp-router 1444 ⚡️️ 1692 7 ⚡️️ 46.48
gorilla-mux 6659 2372 21 800.48
issue9-mux/v7 2708 1875 16 264.34

#Long Routes(16)

路径很长的路由项

路由 ns/op B/op allocs/op 内存(KB) 未命中
dimfeld-httptreemux/v5 4229 2498 17 7.75 ⚡️️
fasthttp-router 3085 ⚡️️ 2705 15 ⚡️️ 47.42
gorilla-mux 10489 3250 22 660.84
issue9-mux/v7 4309 2462 ⚡️️ 16 20.81

#Github API(348)

模仿 Github 的 API 定义,数量中等、命名合理,符合一般情况下的需求。

路由 ns/op B/op allocs/op 内存(KB) 未命中
dimfeld-httptreemux/v5 2849 1902 17 111.45 ⚡️️
fasthttp-router 2116 ⚡️️ 1917 14 ⚡️️ 290.77
gorilla-mux 31093 2649 21 5275.87
issue9-mux/v7 3289 1897 ⚡️️ 16 1835.60

#Discuz Routes(2)

DZ 风格的路由定义

路由 ns/op B/op allocs/op 内存(KB) 未命中
dimfeld-httptreemux/v5 1994 ⚡️️ 1560 ⚡️️ 15 ⚡️️ 0.00 ⚡️️ 2
fasthttp-router 3546 2070 20 7.11
gorilla-mux 6349 2674 22 0.00 ⚡️️
issue9-mux/v7 2636 1880 16 0.00 ⚡️️

#5 Params(200)

五个参数的路由

路由 ns/op B/op allocs/op 内存(KB) 未命中
dimfeld-httptreemux/v5 3532 2160 20 198.83 ⚡️️
fasthttp-router 3719 2502 29 1695.19
gorilla-mux 27481 2763 22 6047.62
issue9-mux/v7 3107 ⚡️️ 1920 ⚡️️ 16 ⚡️️ 863.19

#2 Params(150)

两个参数的路由

路由 ns/op B/op allocs/op 内存(KB) 未命中
dimfeld-httptreemux/v5 2563 1904 18 27.83 ⚡️️
fasthttp-router 2392 ⚡️️ 1886 18 859.52
gorilla-mux 15574 2649 22 1940.22
issue9-mux/v7 2552 1856 ⚡️️ 16 ⚡️️ 353.33

#10 Params(120)

十个参数的路由

路由 ns/op B/op allocs/op 内存(KB) 未命中
dimfeld-httptreemux/v5 4887 3030 22 208.83 ⚡️️
fasthttp-router 5329 3266 45 1291.03
gorilla-mux 24171 3460 23 6697.02
issue9-mux/v7 3646 ⚡️️ 1952 ⚡️️ 16 ⚡️️ 1426.41