Go 路由功能测试数据

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

#测试环境

#所有(964)

所有接口混合测试

路由 ns/op B/op allocs/op 内存(KB) 未命中
dimfeld-httptreemux/v5 3228 ⚡️️ 2098 18 692.98 ⚡️️ 2
fasthttp-router 3383 2206 20 4701.73 无
gorilla-mux 52917 2831 22 22007.73 无
issue9-mux/v9 3239 1973 ⚡️️ 16 ⚡️️ 13253.89 无

#Twitter API(128)

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

路由 ns/op B/op allocs/op 内存(KB) 未命中
dimfeld-httptreemux/v5 1931 1603 ⚡️️ 14 46.97 ⚡️️ 无
fasthttp-router 1243 ⚡️️ 1697 7 ⚡️️ 49.55 无
gorilla-mux 6196 2478 21 839.24 无
issue9-mux/v9 2294 1939 16 250.07 无

#Long Routes(16)

路径很长的路由项

路由 ns/op B/op allocs/op 内存(KB) 未命中
dimfeld-httptreemux/v5 3283 2530 17 7.38 ⚡️️ 无
fasthttp-router 2774 ⚡️️ 2707 15 ⚡️️ 48.88 无
gorilla-mux 9151 3351 22 664.50 无
issue9-mux/v9 3283 2526 ⚡️️ 16 21.66 无

#Github API(348)

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

路由 ns/op B/op allocs/op 内存(KB) 未命中
dimfeld-httptreemux/v5 2458 1934 17 124.59 ⚡️️ 无
fasthttp-router 1793 ⚡️️ 1924 ⚡️️ 14 ⚡️️ 293.87 无
gorilla-mux 29407 2761 21 5213.83 无
issue9-mux/v9 2636 1961 16 1800.42 无

#Discuz Routes(2)

DZ 风格的路由定义

路由 ns/op B/op allocs/op 内存(KB) 未命中
dimfeld-httptreemux/v5 1590 ⚡️️ 1592 ⚡️️ 15 ⚡️️ 0.00 ⚡️️ 2
fasthttp-router 3215 2072 20 10.86 无
gorilla-mux 5824 2772 22 5.47 无
issue9-mux/v9 2181 1944 16 0.00 ⚡️️ 无

#5 Params(200)

五个参数的路由

路由 ns/op B/op allocs/op 内存(KB) 未命中
dimfeld-httptreemux/v5 2941 2192 20 203.78 ⚡️️ 无
fasthttp-router 3265 2510 29 1699.12 无
gorilla-mux 26538 2864 22 5950.22 无
issue9-mux/v9 2616 ⚡️️ 1984 ⚡️️ 16 ⚡️️ 844.08 无

#2 Params(150)

两个参数的路由

路由 ns/op B/op allocs/op 内存(KB) 未命中
dimfeld-httptreemux/v5 2124 ⚡️️ 1936 18 28.44 ⚡️️ 无
fasthttp-router 2124 ⚡️️ 1885 ⚡️️ 18 857.53 无
gorilla-mux 14517 2746 22 1903.09 无
issue9-mux/v9 2157 1920 16 ⚡️️ 357.52 无

#10 Params(120)

十个参数的路由

路由 ns/op B/op allocs/op 内存(KB) 未命中
dimfeld-httptreemux/v5 4287 3096 24 207.06 ⚡️️ 无
fasthttp-router 4727 3273 45 1308.28 无
gorilla-mux 23783 3591 25 6622.43 无
issue9-mux/v9 2985 ⚡️️ 2016 ⚡️️ 16 ⚡️️ 1445.46 无