art-router

module
v0.0.0-...-66de767 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 27, 2022 License: MIT

README

art-router

Benchmark

Machine environment: MacBook Pro (15-inch, 2019). 2.6 GHz Intel Core i7

match-host
$ go build benchmark/matchhost/matchhost.go && ./matchhost
matched res: true
route count: 1000
match times: 100000
time used  : 0.259201   sec
QPS        : 385801.564169
match-static

做了懒加载, benchmark已经上去了,稍后补充 相比lua-resty-radixtree的性能,主要耗时在net.splitHost和url.Query()上,lua-resty-radixtree的benchmark参数host和query是提前预置好的,所以qps会高,如果把net.splitHost和url.Query()也做成固定值,qps可以做到1300w

$ go build benchmark/matchstatic/matchstatic.go && ./matchstatic

matched res: true
route count: 100000
match times: 10000000
time used  : 1.612419   sec
QPS        : 6201861.876831
match-prefix
$ go build benchmark/matchprefix/matchprefix.go && ./matchprefix
matched res: true
route count: 100000
match times: 1000000
time used  : 0.381809   sec
QPS        : 2619109.792973
match-param
$ go build benchmark/matchparam/matchparam.go && ./matchparam
matched res: true
route count: 100000
match times: 10000000
time used  : 2.879797   sec
QPS        : 3472466.506624
match-regexp
$ go build benchmark/matchreg/matchreg.go && ./matchreg
matched res: true
route count: 1000
match times: 1000000
time used  : 0.427930   sec
QPS        : 2336832.646749

Directories

Path Synopsis
benchmark

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL