Go 路由功能测试数据

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

#测试环境

#所有(964)

所有接口混合测试

路由 ns/op B/op allocs/op 内存(KB) 未命中
dimfeld-httptreemux/v5 3501 2030 18 787.67 ⚡️️ 2
fasthttp-router 3578 2098 20 4715.43
gorilla-mux 59366 2920 23 22216.98
issue9-mux/v6 3352 ⚡️️ 1911 ⚡️️ 16 ⚡️️ 13184.61

#Twitter API(128)

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

路由 ns/op B/op allocs/op 内存(KB) 未命中
dimfeld-httptreemux/v5 2350 1539 ⚡️️ 14 117.88 ⚡️️
fasthttp-router 1407 ⚡️️ 1556 7 ⚡️️ 200.41
gorilla-mux 6994 2562 23 1222.62
issue9-mux/v6 2435 1549 14 373.81

#Long Routes(16)

路径很长的路由项

路由 ns/op B/op allocs/op 内存(KB) 未命中
dimfeld-httptreemux/v5 4218 2466 ⚡️️ 17 76.21 ⚡️️
fasthttp-router 3130 ⚡️️ 2577 15 ⚡️️ 150.87
gorilla-mux 10708 3434 24 1374.97
issue9-mux/v6 4407 2542 17 101.35

#Github API(348)

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

路由 ns/op B/op allocs/op 内存(KB) 未命中
dimfeld-httptreemux/v5 2902 1870 17 202.27 ⚡️️
fasthttp-router 2118 ⚡️️ 1800 ⚡️️ 14 ⚡️️ 457.79
gorilla-mux 31733 2832 23 5572.45
issue9-mux/v6 2973 1910 16 1947.00

#Discuz Routes(2)

DZ 风格的路由定义

路由 ns/op B/op allocs/op 内存(KB) 未命中
dimfeld-httptreemux/v5 1886 ⚡️️ 1528 ⚡️️ 15 ⚡️️ 57.48 ⚡️️ 2
fasthttp-router 3777 1968 20 121.63
gorilla-mux 6762 2862 24 178.77
issue9-mux/v6 2567 1960 17 94.58

#5 Params(200)

五个参数的路由

路由 ns/op B/op allocs/op 内存(KB) 未命中
dimfeld-httptreemux/v5 3468 2128 20 279.18 ⚡️️
fasthttp-router 3589 2447 29 1826.99
gorilla-mux 29541 2942 24 5971.75
issue9-mux/v6 3095 ⚡️️ 2000 ⚡️️ 17 ⚡️️ 971.55

#2 Params(150)

两个参数的路由

路由 ns/op B/op allocs/op 内存(KB) 未命中
dimfeld-httptreemux/v5 2568 1872 18 96.02 ⚡️️
fasthttp-router 2414 ⚡️️ 1763 ⚡️️ 18 994.45
gorilla-mux 17599 2829 24 2085.75
issue9-mux/v6 2686 1936 17 ⚡️️ 462.55

#10 Params(120)

十个参数的路由

路由 ns/op B/op allocs/op 内存(KB) 未命中
dimfeld-httptreemux/v5 5022 2998 22 296.16 ⚡️️
fasthttp-router 4907 3288 45 1422.95
gorilla-mux 27255 3646 25 6803.32
issue9-mux/v6 3659 ⚡️️ 2032 ⚡️️ 17 ⚡️️ 1547.45