diff --git a/.circleci/config.yml b/.circleci/config.yml index 7143752..8e9864c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -13,7 +13,7 @@ jobs: default: true docker: - image: "cimg/go:<< parameters.version >>" - working_directory: ~/go/src/github.com/bmf-san/goblin + working_directory: ~/go/src/github.com/bmf-san/go-router-benchmark environment: GO111MODULE: "on" steps: @@ -30,25 +30,20 @@ jobs: - run: name: "Run vet" command: make vet + - run: + name: "Install tools" + command: make install-tools + - run: + name: "Run go staticcheck" + command: make staticcheck - run: name: "Run go test-benchmark" command: make test-benchmark - - when: - condition: - or: - - equal: [ '1.19', << parameters.version >> ] - - equal: [ '1.18', << parameters.version >> ] - steps: - - run: - name: "Install tools" - command: make install-tools - - run: - name: "Run go staticcheck" - command: make staticcheck + workflows: tests: jobs: - test: matrix: parameters: - version: ["1.19", "1.18", "1.17"] \ No newline at end of file + version: ["1.20", "1.19"] \ No newline at end of file diff --git a/Makefile b/Makefile index e2415ea..b5160a0 100644 --- a/Makefile +++ b/Makefile @@ -30,6 +30,10 @@ vet: ## Run vet. staticcheck: ## Run staticcheck. staticcheck ./... +.PHONY: update-all-mod +update-all-mod: ## Run go get and mod. + go get -u && go mod tidy && go get -u ./... + .PHONY: test-benchmark test-benchmark: ## Run benchmark tests. go test -bench=. -benchmem diff --git a/README.md b/README.md index 5b87354..608aba8 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,34 @@ # go-router-benchmark Compare the performance of routers built with golang. +# Table of contents +- [go-router-benchmark](#go-router-benchmark) +- [Table of contents](#table-of-contents) +- [Listed routers](#listed-routers) +- [Motivation](#motivation) +- [Benchmark test](#benchmark-test) + - [Static route](#static-route) + - [Path parameter route](#path-parameter-route) +- [Run benchmark tests](#run-benchmark-tests) +- [Results](#results) + - [Static routes](#static-routes) + - [time](#time) + - [nsop](#nsop) + - [bop](#bop) + - [allocs](#allocs) + - [Pathparams routes](#pathparams-routes) + - [time](#time-1) + - [nsop](#nsop-1) + - [bop](#bop-1) + - [allocs](#allocs-1) +- [Conclusion](#conclusion) +- [Contribution](#contribution) + - [Want to add an HTTP Router ?](#want-to-add-an-http-router-) +- [Contribution](#contribution-1) +- [Sponsor](#sponsor) +- [License](#license) + - [Author](#author) + # Listed routers - [bmf-san/goblin](https://github.com/bmf-san/goblin) - [julienschmidt/httprouter](https://github.com/julienschmidt/httprouter) @@ -105,96 +133,96 @@ Benchmark system ## Static routes ### time -| time | static-routes-root | static-routes-1 | static-routes-5 | static-routes-10 | -| --- | --- | --- | --- | --- | -| servemux | 32733160 | 31851897 | 13437040 | 7253216 | -| goblin | 51884132 | 35242333 | 8901708 | 4096243 | -| httprouter | 145829186 | 134900438 | 129621186 | 100000000 | -| chi | 7254184 | 7252261 | 7210196 | 7284903 | -| gin | 42563881 | 41631550 | 41211974 | 40183560 | -| bunrouter | 100000000 | 70006395 | 68203778 | 64502257 | -| httptreemux | 8065448 | 7859656 | 6201728 | 4849598 | -| beegomux | 31691360 | 25884801 | 8645566 | 5056942 | -| gorillamux | 3162660 | 3094188 | 2834072 | 2450286 | -| bon | 100000000 | 100000000 | 100000000 | 100000000 | -| denco | 135744692 | 133846348 | 134140972 | 133246112 | -| echo | 64909012 | 60949671 | 39699386 | 24012085 | -| gocraftweb | 1596338 | 1578338 | 1392926 | 1000000 | -| gorouter | 71930586 | 52163613 | 27706906 | 16627858 | -| ozzorouting | 47753750 | 45524383 | 35422566 | 27887978 | -| techbook13-sample | 10074039 | 7664803 | 3122547 | 1641374 | +| time | static-routes-root | static-routes-1 | static-routes-5 | static-routes-10 | +| ----------------- | ------------------ | --------------- | --------------- | ---------------- | +| servemux | 32706376 | 31260028 | 15832058 | 7264929 | +| goblin | 76439406 | 40379964 | 9580180 | 4323399 | +| httprouter | 144948184 | 134442093 | 129799516 | 100000000 | +| chi | 8070156 | 8052058 | 8008406 | 8048611 | +| gin | 44602617 | 44147605 | 42466225 | 41878116 | +| bunrouter | 122551147 | 83394621 | 80952087 | 75950764 | +| httptreemux | 8886540 | 8690398 | 6828529 | 5250801 | +| beegomux | 31958985 | 25187836 | 8400084 | 4969017 | +| gorillamux | 3404859 | 3336543 | 3059030 | 2562878 | +| bon | 100000000 | 100000000 | 100000000 | 100000000 | +| denco | 133318143 | 134562303 | 133360999 | 134754518 | +| echo | 64878891 | 59950042 | 39227169 | 23970236 | +| gocraftweb | 1608999 | 1608612 | 1421674 | 1213682 | +| gorouter | 71320846 | 56132800 | 29620791 | 18047248 | +| ozzorouting | 47726209 | 46019254 | 35856304 | 28017253 | +| techbook13-sample | 11669716 | 8451075 | 3286712 | 1664376 | ![time.png](/images/static-routes/time.png) [Graph - time](https://docs.google.com/spreadsheets/d/e/2PACX-1vRiWBjJim4v_XyoN45s4VVQXD-PIBHKjyVfOv5OX37376SZ9GvL5bmqQegLl-5arBpD-3hhTKTEgkIj/pubchart?oid=800028423&format=interactive) ### nsop -| nsop | static-routes-root | static-routes-1 | static-routes-5 | static-routes-10 | -| --- | --- | --- | --- | --- | -| servemux | 36.33 | 37.56 | 75.73 | 148 | -| goblin | 23.33 | 33.99 | 135 | 290.5 | -| httprouter | 8.646 | 8.909 | 9.254 | 10.77 | -| chi | 166.5 | 163 | 166.4 | 174.8 | -| gin | 28.58 | 28.73 | 29.05 | 29.96 | -| bunrouter | 11.9 | 17.02 | 17.63 | 18.62 | -| httptreemux | 149.5 | 154 | 192.6 | 242.9 | -| beegomux | 37.85 | 46.46 | 138.2 | 238.5 | -| gorillamux | 381.9 | 386.4 | 419.6 | 489.2 | -| bon | 10.51 | 10.63 | 10.71 | 10.47 | -| denco | 8.91 | 8.916 | 9.011 | 9.005 | -| echo | 18.73 | 19.92 | 30.15 | 50.25 | -| gocraftweb | 749.8 | 768.7 | 862.6 | 1007 | -| gorouter | 16.65 | 24 | 45.26 | 71.23 | -| ozzorouting | 24.97 | 26.07 | 33.39 | 43.09 | -| techbook13-sample | 119.1 | 157.9 | 385 | 728.6 | +| nsop | static-routes-root | static-routes-1 | static-routes-5 | static-routes-10 | +| ----------------- | ------------------ | --------------- | --------------- | ---------------- | +| servemux | 37.13 | 38.26 | 75.65 | 148.7 | +| goblin | 15.66 | 29.72 | 125.2 | 277.2 | +| httprouter | 8.288 | 8.987 | 9.248 | 10.22 | +| chi | 148.7 | 148.2 | 148.6 | 148.3 | +| gin | 26.91 | 27.15 | 28.24 | 28.71 | +| bunrouter | 9.844 | 14.36 | 14.85 | 15.8 | +| httptreemux | 133.7 | 138.4 | 176.3 | 229.9 | +| beegomux | 37.7 | 47.5 | 143.3 | 241.6 | +| gorillamux | 352.3 | 358.8 | 393.1 | 469.6 | +| bon | 10.6 | 10.62 | 10.57 | 10.52 | +| denco | 8.944 | 9.059 | 8.999 | 8.963 | +| echo | 18.51 | 20.12 | 30.67 | 50.5 | +| gocraftweb | 743.6 | 744 | 849.2 | 986.7 | +| gorouter | 16.54 | 21.49 | 40.53 | 66.6 | +| ozzorouting | 25.36 | 26.12 | 33.56 | 42.92 | +| techbook13-sample | 100.3 | 140.5 | 365.4 | 723 | ![nsop.png](/images/static-routes/nsop.png) [Graph - nsop](https://docs.google.com/spreadsheets/d/e/2PACX-1vRiWBjJim4v_XyoN45s4VVQXD-PIBHKjyVfOv5OX37376SZ9GvL5bmqQegLl-5arBpD-3hhTKTEgkIj/pubchart?oid=1691114342&format=interactive) ### bop -| bop | static-routes-root | static-routes-1 | static-routes-5 | static-routes-10 | -| --- | --- | --- | --- | --- | -| servemux | 0 | 0 | 0 | 0 | -| goblin | 0 | 0 | 0 | 0 | -| 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 | +| bop | static-routes-root | static-routes-1 | static-routes-5 | static-routes-10 | +| ----------------- | ------------------ | --------------- | --------------- | ---------------- | +| servemux | 0 | 0 | 0 | 0 | +| goblin | 0 | 0 | 0 | 0 | +| 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 | ![bop.png](/images/static-routes/bop.png) [Graph - bop](https://docs.google.com/spreadsheets/d/e/2PACX-1vRiWBjJim4v_XyoN45s4VVQXD-PIBHKjyVfOv5OX37376SZ9GvL5bmqQegLl-5arBpD-3hhTKTEgkIj/pubchart?oid=675738282&format=interactive) ### allocs -| allocs | static-routes-root | static-routes-1 | static-routes-5 | static-routes-10 | -| --- | --- | --- | --- | --- | -| servemux | 0 | 0 | 0 | 0 | -| goblin | 0 | 0 | 0 | 0 | -| 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 | +| allocs | static-routes-root | static-routes-1 | static-routes-5 | static-routes-10 | +| ----------------- | ------------------ | --------------- | --------------- | ---------------- | +| servemux | 0 | 0 | 0 | 0 | +| goblin | 0 | 0 | 0 | 0 | +| 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 | ![allocs.png](/images/static-routes/allocs.png) @@ -202,69 +230,69 @@ Benchmark system ## Pathparams routes ### time -| time | pathparam-routes-1 | pathparam-routes-5 | pathparam-routes-10 | -| --- | --- | --- | --- | -| goblin | 4575871 | 2049280 | 1160929 | -| httprouter | 34437032 | 13029846 | 8165713 | -| chi | 5880913 | 3872946 | 2636372 | -| gin | 36084889 | 19343385 | 12088365 | -| bunrouter | 45573008 | 10754092 | 5223387 | -| httptreemux | 3641581 | 2070312 | 1000000 | -| beegomux | 4127463 | 2739680 | 1373012 | -| gorillamux | 2109531 | 1000000 | 497953 | -| bon | 8041033 | 5534796 | 4008288 | -| denco | 26334654 | 9830152 | 6212643 | -| echo | 44213551 | 15313064 | 8329726 | -| gocraftweb | 1291144 | 970765 | 708202 | -| gorouter | 6460888 | 4317782 | 3121602 | -| ozzorouting | 36781983 | 16313232 | 9731100 | -| techbook13-sample | 3656685 | 1000000 | 634324 | +| time | pathparam-routes-1 | pathparam-routes-5 | pathparam-routes-10 | +| ----------------- | ------------------ | ------------------ | ------------------- | +| goblin | 5651378 | 3350758 | 2237424 | +| httprouter | 35218974 | 13397467 | 8215023 | +| chi | 7278495 | 4290862 | 2868873 | +| gin | 37004343 | 19501255 | 12229501 | +| bunrouter | 62347647 | 10800812 | 5265159 | +| httptreemux | 4364602 | 2175886 | 1000000 | +| beegomux | 4552228 | 2861100 | 1420195 | +| gorillamux | 2252773 | 1000000 | 513360 | +| bon | 9118044 | 6031597 | 4243491 | +| denco | 25824546 | 10170320 | 6332478 | +| echo | 45946130 | 15379792 | 8352284 | +| gocraftweb | 1315434 | 969732 | 693129 | +| gorouter | 7179020 | 4748841 | 3296766 | +| ozzorouting | 37090459 | 16726933 | 10019931 | +| techbook13-sample | 3875658 | 1223982 | 651006 | ![time.png](/images/pathparam-routes/time.png) [Graph - time](https://docs.google.com/spreadsheets/d/e/2PACX-1vRiWBjJim4v_XyoN45s4VVQXD-PIBHKjyVfOv5OX37376SZ9GvL5bmqQegLl-5arBpD-3hhTKTEgkIj/pubchart?oid=1039813866&format=interactive) ### nsop -| nsop | pathparam-routes-1 | pathparam-routes-5 | pathparam-routes-10 | -| --- | --- | --- | --- | -| goblin | 251.9 | 574 | 1013 | -| httprouter | 41.44 | 92.52 | 146.3 | -| chi | 200.8 | 309.1 | 455.1 | -| gin | 33.9 | 62.48 | 98.31 | -| bunrouter | 23.22 | 112.8 | 229.8 | -| httptreemux | 297.5 | 581.1 | 1160 | -| beegomux | 272.1 | 435.6 | 872.2 | -| gorillamux | 558.9 | 1127 | 2367 | -| bon | 154.5 | 217.1 | 300.1 | -| denco | 46.57 | 122.7 | 193.3 | -| echo | 26.49 | 78.45 | 144 | -| gocraftweb | 927.4 | 1232 | 1770 | -| gorouter | 188.4 | 278.1 | 382.5 | -| ozzorouting | 33.78 | 73.6 | 123.4 | -| techbook13-sample | 326.2 | 1008 | 1841 | +| nsop | pathparam-routes-1 | pathparam-routes-5 | pathparam-routes-10 | +| ----------------- | ------------------ | ------------------ | ------------------- | +| goblin | 194 | 341.2 | 529.2 | +| httprouter | 33.85 | 89.47 | 146.9 | +| chi | 164.3 | 280.9 | 421.4 | +| gin | 32.5 | 60.58 | 97.68 | +| bunrouter | 19.26 | 110.7 | 228.4 | +| httptreemux | 276.8 | 553.1 | 1111 | +| beegomux | 262.1 | 420.6 | 845 | +| gorillamux | 530.7 | 1092 | 2320 | +| bon | 131.9 | 198.9 | 281.8 | +| denco | 46.26 | 118.3 | 189.8 | +| echo | 26.14 | 78.09 | 143.7 | +| gocraftweb | 914.5 | 1196 | 1694 | +| gorouter | 168.9 | 253.2 | 362.9 | +| ozzorouting | 32.27 | 71.76 | 119.8 | +| techbook13-sample | 308.6 | 982.1 | 1794 | ![nsop.png](/images/pathparam-routes/nsop.png) [Graph - nsop](https://docs.google.com/spreadsheets/d/e/2PACX-1vRiWBjJim4v_XyoN45s4VVQXD-PIBHKjyVfOv5OX37376SZ9GvL5bmqQegLl-5arBpD-3hhTKTEgkIj/pubchart?oid=1534246873&format=interactive) ### bop -| bop | pathparam-routes-1 | pathparam-routes-5 | pathparam-routes-10 | -| --- | --- | --- | --- | -| goblin | 328 | 412 | 494 | -| 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 | +| bop | pathparam-routes-1 | pathparam-routes-5 | pathparam-routes-10 | +| ----------------- | ------------------ | ------------------ | ------------------- | +| goblin | 328 | 328 | 328 | +| 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 | ![bop.png](/images/pathparam-routes/bop.png) @@ -325,9 +353,36 @@ Reporting of benchmark runs is done by the owner, so you do not need to update t If you have any questions, you can ask them in Issue. +# Contribution +Issues and Pull Requests are always welcome. + +We would be happy to receive your contributions. + +Please review the following documents before making a contribution. + +[CODE_OF_CONDUCT](https://github.com/bmf-san/go-router-benchmark/blob/master/.github/CODE_OF_CONDUCT.md) +[CONTRIBUTING](https://github.com/bmf-san/go-router-benchmark/blob/master/.github/CONTRIBUTING.md) + +# Sponsor +If you like it, I would be happy to have you sponsor it! + +[GitHub Sponsors - bmf-san](https://github.com/sponsors/bmf-san) + +Or I would be happy to get a STAR. + +It motivates me to keep up with ongoing maintenance :D + # License -This project is licensed under the terms of the MIT license. +Based on the MIT License. + +[LICENSE](https://github.com/bmf-san/goblin/blob/master/LICENSE) ## Author -- [@bmf-san](https://twitter.com/bmf_san) -- [bmf-tech.com](http://bmf-tech.com/) +[bmf-san](https://github.com/bmf-san) + +- Email + - bmf.infomation@gmail.com +- Blog + - [bmf-tech.com](http://bmf-tech.com) +- Twitter + - [bmf-san](https://twitter.com/bmf-san) diff --git a/go-router-benchmark.test b/go-router-benchmark.test deleted file mode 100755 index 3a978d5..0000000 Binary files a/go-router-benchmark.test and /dev/null differ diff --git a/go.mod b/go.mod index 48f6930..0c60dde 100644 --- a/go.mod +++ b/go.mod @@ -4,9 +4,9 @@ go 1.19 require ( github.com/beego/mux v0.0.0-20170807094426-6660b4b5accb - github.com/bmf-san/goblin v0.0.0-20230108200028-8e15e5c70d92 + github.com/bmf-san/goblin v0.0.0-20230612165304-8aa4a2b4eb0a github.com/dimfeld/httptreemux/v5 v5.5.0 - github.com/gin-gonic/gin v1.8.2 + github.com/gin-gonic/gin v1.9.1 github.com/go-chi/chi/v5 v5.0.8 github.com/go-ozzo/ozzo-routing/v2 v2.4.0 github.com/gocraft/web v0.0.0-20190207150652-9707327fb69b @@ -16,35 +16,41 @@ require ( github.com/lkeix/techbook13-sample v0.0.0-20221218104044-fc1348dfcf99 github.com/naoina/denco v0.0.0-20180930074809-8475105a6b4c github.com/nissy/bon v1.3.0 - github.com/uptrace/bunrouter v1.0.19 + github.com/uptrace/bunrouter v1.0.20 github.com/vardius/gorouter/v4 v4.5.1 ) require ( - github.com/andybalholm/brotli v1.0.0 // indirect + github.com/andybalholm/brotli v1.0.5 // indirect + github.com/bytedance/sonic v1.9.1 // indirect + github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 // indirect github.com/dimfeld/httptreemux v5.0.1+incompatible // indirect + github.com/gabriel-vasile/mimetype v1.4.2 // indirect github.com/gin-contrib/sse v0.1.0 // indirect - github.com/go-playground/locales v0.14.0 // indirect - github.com/go-playground/universal-translator v0.18.0 // indirect - github.com/go-playground/validator/v10 v10.11.1 // indirect - github.com/goccy/go-json v0.9.11 // indirect + github.com/go-playground/locales v0.14.1 // indirect + github.com/go-playground/universal-translator v0.18.1 // indirect + github.com/go-playground/validator/v10 v10.14.1 // indirect + github.com/goccy/go-json v0.10.2 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.10.11 // indirect + github.com/klauspost/compress v1.16.5 // indirect + github.com/klauspost/cpuid/v2 v2.2.5 // indirect github.com/labstack/gommon v0.4.0 // indirect - github.com/leodido/go-urn v1.2.1 // indirect - github.com/mattn/go-colorable v0.1.11 // indirect - github.com/mattn/go-isatty v0.0.16 // indirect + github.com/leodido/go-urn v1.2.4 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-isatty v0.0.19 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/pelletier/go-toml/v2 v2.0.6 // indirect - github.com/ugorji/go/codec v1.2.7 // indirect + github.com/pelletier/go-toml/v2 v2.0.8 // indirect + github.com/twitchyliquid64/golang-asm v0.15.1 // indirect + github.com/ugorji/go/codec v1.2.11 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect - github.com/valyala/fasthttp v1.16.0 // indirect - github.com/valyala/fasttemplate v1.2.1 // indirect - golang.org/x/crypto v0.2.0 // indirect - golang.org/x/net v0.4.0 // indirect - golang.org/x/sys v0.3.0 // indirect - golang.org/x/text v0.5.0 // indirect - google.golang.org/protobuf v1.28.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect + github.com/valyala/fasthttp v1.47.0 // indirect + github.com/valyala/fasttemplate v1.2.2 // indirect + golang.org/x/arch v0.3.0 // indirect + golang.org/x/crypto v0.9.0 // indirect + golang.org/x/net v0.10.0 // indirect + golang.org/x/sys v0.9.0 // indirect + golang.org/x/text v0.10.0 // indirect + google.golang.org/protobuf v1.30.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 8c41b7b..ecd61d3 100644 --- a/go.sum +++ b/go.sum @@ -1,10 +1,16 @@ -github.com/andybalholm/brotli v1.0.0 h1:7UCwP93aiSfvWpapti8g88vVVGp2qqtGyePsSuDafo4= github.com/andybalholm/brotli v1.0.0/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y= +github.com/andybalholm/brotli v1.0.5 h1:8uQZIdzKmjc/iuPu7O2ioW48L81FgatrcpfFmiq/cCs= +github.com/andybalholm/brotli v1.0.5/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/beego/mux v0.0.0-20170807094426-6660b4b5accb h1:axnOt7m6K48TKsOVlimWmGfnevzEgqUVtb6nUl3qTGc= github.com/beego/mux v0.0.0-20170807094426-6660b4b5accb/go.mod h1:0taFqEAcm55Z4UtLzfKmpPdnLq537xGk/95OF2/0ebQ= -github.com/bmf-san/goblin v0.0.0-20230108200028-8e15e5c70d92 h1:Xe8Gu4bTRWgA7wf4AVZsVnwPtHPpkz9y84dXXtXjqkc= -github.com/bmf-san/goblin v0.0.0-20230108200028-8e15e5c70d92/go.mod h1:/zoFMy/CFURR5N5AHbIwFPf/3fZs3VzovMZKuQ40r2s= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/bmf-san/goblin v0.0.0-20230612165304-8aa4a2b4eb0a h1:2ol0hdCnWgYdNYVE/4DhImZsqkhHNzd5RjSho13BGfE= +github.com/bmf-san/goblin v0.0.0-20230612165304-8aa4a2b4eb0a/go.mod h1:RovWvwcoNNx7Idk/FanQtQjRSWIjZobNusVK8P3Semo= +github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= +github.com/bytedance/sonic v1.9.1 h1:6iJ6NqdoxCDr6mbY8h18oSO+cShGSMRGCEo7F2h0x8s= +github.com/bytedance/sonic v1.9.1/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U= +github.com/chenzhuoyu/base64x v0.0.0-20211019084208-fb5309c8db06/go.mod h1:DH46F32mSOjUmXrMHnKwZdA8wcEefY7UVqBKYGjpdQY= +github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 h1:qSGYFH7+jGhDF8vLC+iwCD4WpbV1EBDSzWkJODFLams= +github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311/go.mod h1:b583jCggY9gE99b6G5LEC39OIiVsWj+R97kbl5odCEk= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -12,24 +18,25 @@ github.com/dimfeld/httptreemux v5.0.1+incompatible h1:Qj3gVcDNoOthBAqftuD596rm4w github.com/dimfeld/httptreemux v5.0.1+incompatible/go.mod h1:rbUlSV+CCpv/SuqUTP/8Bk2O3LyUV436/yaRGkhP6Z0= github.com/dimfeld/httptreemux/v5 v5.5.0 h1:p8jkiMrCuZ0CmhwYLcbNbl7DDo21fozhKHQ2PccwOFQ= github.com/dimfeld/httptreemux/v5 v5.5.0/go.mod h1:QeEylH57C0v3VO0tkKraVz9oD3Uu93CKPnTLbsidvSw= +github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q7OhCmWKU= +github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= -github.com/gin-gonic/gin v1.8.2 h1:UzKToD9/PoFj/V4rvlKqTRKnQYyz8Sc1MJlv4JHPtvY= -github.com/gin-gonic/gin v1.8.2/go.mod h1:qw5AYuDrzRTnhvusDsrov+fDIxp9Dleuu12h8nfB398= +github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg= +github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU= github.com/go-chi/chi/v5 v5.0.8 h1:lD+NLqFcAi1ovnVZpsnObHGW4xb4J8lNmoYVfECH1Y0= github.com/go-chi/chi/v5 v5.0.8/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= github.com/go-ozzo/ozzo-routing/v2 v2.4.0 h1:XBI8oqrsxn6iZsOifgEzopSjN4ut0IAbFdYPlRbnCmk= github.com/go-ozzo/ozzo-routing/v2 v2.4.0/go.mod h1:D2+wklvbnGy5H8idBDSCMrazA4ISCVFhnjeRX8nyErw= -github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= -github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= -github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= -github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= -github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= -github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= -github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= -github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= -github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= -github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= +github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= +github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= +github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= +github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= +github.com/go-playground/validator/v10 v10.14.1 h1:9c50NUPC30zyuKprjL3vNZ0m5oG+jU0zvx4AqHGnv4k= +github.com/go-playground/validator/v10 v10.14.1/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= +github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= +github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/gocraft/web v0.0.0-20190207150652-9707327fb69b h1:g2Qcs0B+vOQE1L3a7WQ/JUUSzJnHbTz14qkJSqEWcF4= github.com/gocraft/web v0.0.0-20190207150652-9707327fb69b/go.mod h1:Ag7UMbZNGrnHwaXPJOUKJIVgx4QOWMOWZngrvsN6qak= github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= @@ -47,29 +54,27 @@ github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHm github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4dN7jwJOQ1U= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/klauspost/compress v1.10.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.10.11 h1:K9z59aO18Aywg2b/WSgBaUX99mHy2BES18Cr5lBKZHk= github.com/klauspost/compress v1.10.11/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= -github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/klauspost/compress v1.16.5 h1:IFV2oUNUzZaz+XyusxpLzpzS8Pt5rh0Z16For/djlyI= +github.com/klauspost/compress v1.16.5/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= +github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg= +github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/labstack/echo v3.3.10+incompatible h1:pGRcYk231ExFAyoAjAfD85kQzRJCRI8bbnE7CX5OEgg= github.com/labstack/echo v3.3.10+incompatible/go.mod h1:0INS7j/VjnFxD4E2wkz67b8cVwCLbBmJyDaka6Cmk1s= github.com/labstack/gommon v0.4.0 h1:y7cvthEAEbU0yHOf4axH8ZG2NH8knB9iNSoTO8dyIk8= github.com/labstack/gommon v0.4.0/go.mod h1:uW6kP17uPlLJsD3ijUYn3/M5bAxtlZhMI6m3MFxTMTM= -github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= -github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= +github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q= +github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4= github.com/lkeix/techbook13-sample v0.0.0-20221218104044-fc1348dfcf99 h1:Pt0zPDvQoGb0aeo5OhWPUg7AyucLrhMXHbKHu6ovdSE= github.com/lkeix/techbook13-sample v0.0.0-20221218104044-fc1348dfcf99/go.mod h1:zxho/HpBxK5SXApnM9A0dNegTEWHAXxVi7B0AAKNsZk= -github.com/mattn/go-colorable v0.1.11 h1:nQ+aFkoE2TMGc0b68U2OKSexC+eq46+XwZzWXHRmPYs= github.com/mattn/go-colorable v0.1.11/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= +github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -79,81 +84,72 @@ github.com/naoina/denco v0.0.0-20180930074809-8475105a6b4c h1:OuYPoLEOYbguEn/ihi github.com/naoina/denco v0.0.0-20180930074809-8475105a6b4c/go.mod h1:rJwHqj5scxcViM0kq4dh/d1E9sLBeI1snvkNVX4mQGY= github.com/nissy/bon v1.3.0 h1:G/lRLxmMiAzcBcUUICt0ixQnrrwhSJpqAJv1hbhoc6U= github.com/nissy/bon v1.3.0/go.mod h1:ydF+7brwzJ5OIBbOZBUiBEsRIGQ/xpkqi2n4s73nEd4= -github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= -github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= -github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= +github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= +github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8= -github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6M= -github.com/ugorji/go/codec v1.2.7 h1:YPXUKf7fYbp/y8xloBqZOw2qaVggbfwMlI8WM3wZUJ0= -github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= -github.com/uptrace/bunrouter v1.0.19 h1:kdN1Nl/9RDq9eBPnjS6GvNKcgiAeMxdb9DbpslLndFg= -github.com/uptrace/bunrouter v1.0.19/go.mod h1:TwT7Bc0ztF2Z2q/ZzMuSVkcb/Ig/d3MQeP2cxn3e1hI= +github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY= +github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= +github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= +github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU= +github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= +github.com/uptrace/bunrouter v1.0.20 h1:jNvYNcJxF+lSYBQAaQjnE6I11Zs0m+3M5Ek7fq/Tp4c= +github.com/uptrace/bunrouter v1.0.20/go.mod h1:TwT7Bc0ztF2Z2q/ZzMuSVkcb/Ig/d3MQeP2cxn3e1hI= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= -github.com/valyala/fasthttp v1.16.0 h1:9zAqOYLl8Tuy3E5R6ckzGDJ1g8+pw15oQp2iL9Jl6gQ= github.com/valyala/fasthttp v1.16.0/go.mod h1:YOKImeEosDdBPnxc0gy7INqi3m1zK6A+xl6TwOBhHCA= -github.com/valyala/fasttemplate v1.2.1 h1:TVEnxayobAdVkhQfrfes2IzOB6o+z4roRkPF52WA1u4= +github.com/valyala/fasthttp v1.47.0 h1:y7moDoxYzMooFpT5aHgNgVOQDrS3qlkfiP9mDtGGK9c= +github.com/valyala/fasthttp v1.47.0/go.mod h1:k2zXd82h/7UZc3VOdJ2WaUqt1uZ/XpXAfE9i+HBC3lA= github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= +github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo= +github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio= github.com/vardius/gorouter/v4 v4.5.1 h1:G4z0s/UFobopcA9zQFGqBBYFxG0PFk/w7x3ZVktXLEw= github.com/vardius/gorouter/v4 v4.5.1/go.mod h1:HUZmv8K/yhBG1WHDlIRSWo3WPjK1MYyOFDXSyC8wehg= +golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= +golang.org/x/arch v0.3.0 h1:02VY4/ZcO/gBOH6PUaoiptASxtXU10jazRCP865E97k= +golang.org/x/arch v0.3.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.2.0 h1:BRXPfhNivWL5Yq0BGQ39a2sW6t44aODpfxkWjYdzewE= -golang.org/x/crypto v0.2.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= +golang.org/x/crypto v0.9.0 h1:LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g= +golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.4.0 h1:Q5QPcMlvfxFTAPV0+07Xz/MpK9NTXu2VDUuy0FeMfaU= -golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= +golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211103235746-7861aae1554b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ= -golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.9.0 h1:KS/R3tvhPqvJvwcKfnBHJwwthS11LRhmM5D59eEXa0s= +golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.5.0 h1:OLmvp0KP+FVG99Ct/qFiL/Fhk4zp4QQnZ7b2U+5piUM= -golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/text v0.10.0 h1:UpjohKhiEgNc0CSauXmwYftY1+LlaC75SJwh0SgCX58= +golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= -google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= +google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= diff --git a/images/pathparam-routes/bop.png b/images/pathparam-routes/bop.png index 1e2b869..a509703 100644 Binary files a/images/pathparam-routes/bop.png and b/images/pathparam-routes/bop.png differ diff --git a/images/pathparam-routes/nsop.png b/images/pathparam-routes/nsop.png index f613071..b4527b6 100644 Binary files a/images/pathparam-routes/nsop.png and b/images/pathparam-routes/nsop.png differ diff --git a/images/pathparam-routes/time.png b/images/pathparam-routes/time.png index 724b1bf..8a572f1 100644 Binary files a/images/pathparam-routes/time.png and b/images/pathparam-routes/time.png differ diff --git a/images/static-routes/nsop.png b/images/static-routes/nsop.png index 76222a8..a323787 100644 Binary files a/images/static-routes/nsop.png and b/images/static-routes/nsop.png differ diff --git a/images/static-routes/time.png b/images/static-routes/time.png index fc1267a..3688d06 100644 Binary files a/images/static-routes/time.png and b/images/static-routes/time.png differ diff --git a/reports/pathparam-routes-1/nsop.csv b/reports/pathparam-routes-1/nsop.csv index 48c5041..ced53aa 100644 --- a/reports/pathparam-routes-1/nsop.csv +++ b/reports/pathparam-routes-1/nsop.csv @@ -1,15 +1,15 @@ -BenchmarkPathParamRoutes1ColonGoblin-8,251.9 -BenchmarkPathParamRoutes1ColonHTTPRouter-8,41.44 -BenchmarkPathParamRoutes1BracketChi-8,200.8 -BenchmarkPathParamRoutes1ColonGin-8,33.90 -BenchmarkPathParamRoutes1ColonBunRouter-8,23.22 -BenchmarkPathParamRoutes1ColonHTTPTreeMux-8,297.5 -BenchmarkPathParamRoutes1ColonBeegoMux-8,272.1 -BenchmarkPathParamRoutes1BracketGorillaMux-8,558.9 -BenchmarkPathParamRoutes1ColonBon-8,154.5 -BenchmarkPathParamRoutes1ColonDenco-8,46.57 -BenchmarkPathParamRoutes1ColonEcho-8,26.49 -BenchmarkPathParamRoutes1ColonGocraftWeb-8,927.4 -BenchmarkPathParamRoutes1BracketGorouter-8,188.4 -BenchmarkPathParamRoutes1InequalitySignOzzoRouting-8,33.78 -BenchmarkPathParamRoutes1ColonN9tE9Routing-8,326.2 +BenchmarkPathParamRoutes1ColonGoblin-8,194.0 +BenchmarkPathParamRoutes1ColonHTTPRouter-8,33.85 +BenchmarkPathParamRoutes1BracketChi-8,164.3 +BenchmarkPathParamRoutes1ColonGin-8,32.50 +BenchmarkPathParamRoutes1ColonBunRouter-8,19.26 +BenchmarkPathParamRoutes1ColonHTTPTreeMux-8,276.8 +BenchmarkPathParamRoutes1ColonBeegoMux-8,262.1 +BenchmarkPathParamRoutes1BracketGorillaMux-8,530.7 +BenchmarkPathParamRoutes1ColonBon-8,131.9 +BenchmarkPathParamRoutes1ColonDenco-8,46.26 +BenchmarkPathParamRoutes1ColonEcho-8,26.14 +BenchmarkPathParamRoutes1ColonGocraftWeb-8,914.5 +BenchmarkPathParamRoutes1BracketGorouter-8,168.9 +BenchmarkPathParamRoutes1InequalitySignOzzoRouting-8,32.27 +BenchmarkPathParamRoutes1ColonN9tE9Routing-8,308.6 diff --git a/reports/pathparam-routes-1/time.csv b/reports/pathparam-routes-1/time.csv index 946c9f6..b7cddc9 100644 --- a/reports/pathparam-routes-1/time.csv +++ b/reports/pathparam-routes-1/time.csv @@ -1,15 +1,15 @@ -BenchmarkPathParamRoutes1ColonGoblin-8,4575871 -BenchmarkPathParamRoutes1ColonHTTPRouter-8,34437032 -BenchmarkPathParamRoutes1BracketChi-8,5880913 -BenchmarkPathParamRoutes1ColonGin-8,36084889 -BenchmarkPathParamRoutes1ColonBunRouter-8,45573008 -BenchmarkPathParamRoutes1ColonHTTPTreeMux-8,3641581 -BenchmarkPathParamRoutes1ColonBeegoMux-8,4127463 -BenchmarkPathParamRoutes1BracketGorillaMux-8,2109531 -BenchmarkPathParamRoutes1ColonBon-8,8041033 -BenchmarkPathParamRoutes1ColonDenco-8,26334654 -BenchmarkPathParamRoutes1ColonEcho-8,44213551 -BenchmarkPathParamRoutes1ColonGocraftWeb-8,1291144 -BenchmarkPathParamRoutes1BracketGorouter-8,6460888 -BenchmarkPathParamRoutes1InequalitySignOzzoRouting-8,36781983 -BenchmarkPathParamRoutes1ColonN9tE9Routing-8,3656685 +BenchmarkPathParamRoutes1ColonGoblin-8,5651378 +BenchmarkPathParamRoutes1ColonHTTPRouter-8,35218974 +BenchmarkPathParamRoutes1BracketChi-8,7278495 +BenchmarkPathParamRoutes1ColonGin-8,37004343 +BenchmarkPathParamRoutes1ColonBunRouter-8,62347647 +BenchmarkPathParamRoutes1ColonHTTPTreeMux-8,4364602 +BenchmarkPathParamRoutes1ColonBeegoMux-8,4552228 +BenchmarkPathParamRoutes1BracketGorillaMux-8,2252773 +BenchmarkPathParamRoutes1ColonBon-8,9118044 +BenchmarkPathParamRoutes1ColonDenco-8,25824546 +BenchmarkPathParamRoutes1ColonEcho-8,45946130 +BenchmarkPathParamRoutes1ColonGocraftWeb-8,1315434 +BenchmarkPathParamRoutes1BracketGorouter-8,7179020 +BenchmarkPathParamRoutes1InequalitySignOzzoRouting-8,37090459 +BenchmarkPathParamRoutes1ColonN9tE9Routing-8,3875658 diff --git a/reports/pathparam-routes-10/bop.csv b/reports/pathparam-routes-10/bop.csv index a710f4b..d1881e7 100644 --- a/reports/pathparam-routes-10/bop.csv +++ b/reports/pathparam-routes-10/bop.csv @@ -1,4 +1,4 @@ -BenchmarkPathParamRoutes10ColonGoblin-8,494 +BenchmarkPathParamRoutes10ColonGoblin-8,328 BenchmarkPathParamRoutes10ColonHTTPRouter-8,320 BenchmarkPathParamRoutes10BracketChi-8,304 BenchmarkPathParamRoutes10ColonGin-8,0 diff --git a/reports/pathparam-routes-10/nsop.csv b/reports/pathparam-routes-10/nsop.csv index 2d1b2d1..5b91c12 100644 --- a/reports/pathparam-routes-10/nsop.csv +++ b/reports/pathparam-routes-10/nsop.csv @@ -1,15 +1,15 @@ -BenchmarkPathParamRoutes10ColonGoblin-8,1013 -BenchmarkPathParamRoutes10ColonHTTPRouter-8,146.3 -BenchmarkPathParamRoutes10BracketChi-8,455.1 -BenchmarkPathParamRoutes10ColonGin-8,98.31 -BenchmarkPathParamRoutes10ColonBunRouter-8,229.8 -BenchmarkPathParamRoutes10ColonHTTPTreeMux-8,1160 -BenchmarkPathParamRoutes10ColonBeegoMux-8,872.2 -BenchmarkPathParamRoutes10BracketGorillaMux-8,2367 -BenchmarkPathParamRoutes10ColonBon-8,300.1 -BenchmarkPathParamRoutes10ColonDenco-8,193.3 -BenchmarkPathParamRoutes10ColonEcho-8,144.0 -BenchmarkPathParamRoutes10ColonGocraftWeb-8,1770 -BenchmarkPathParamRoutes10BracketGorouter-8,382.5 -BenchmarkPathParamRoutes10InequalitySignOzzoRouting-8,123.4 -BenchmarkPathParamRoutes10ColonN9tE9Routing-8,1841 +BenchmarkPathParamRoutes10ColonGoblin-8,529.2 +BenchmarkPathParamRoutes10ColonHTTPRouter-8,146.9 +BenchmarkPathParamRoutes10BracketChi-8,421.4 +BenchmarkPathParamRoutes10ColonGin-8,97.68 +BenchmarkPathParamRoutes10ColonBunRouter-8,228.4 +BenchmarkPathParamRoutes10ColonHTTPTreeMux-8,1111 +BenchmarkPathParamRoutes10ColonBeegoMux-8,845.0 +BenchmarkPathParamRoutes10BracketGorillaMux-8,2320 +BenchmarkPathParamRoutes10ColonBon-8,281.8 +BenchmarkPathParamRoutes10ColonDenco-8,189.8 +BenchmarkPathParamRoutes10ColonEcho-8,143.7 +BenchmarkPathParamRoutes10ColonGocraftWeb-8,1694 +BenchmarkPathParamRoutes10BracketGorouter-8,362.9 +BenchmarkPathParamRoutes10InequalitySignOzzoRouting-8,119.8 +BenchmarkPathParamRoutes10ColonN9tE9Routing-8,1794 diff --git a/reports/pathparam-routes-10/time.csv b/reports/pathparam-routes-10/time.csv index 8190737..da6d125 100644 --- a/reports/pathparam-routes-10/time.csv +++ b/reports/pathparam-routes-10/time.csv @@ -1,15 +1,15 @@ -BenchmarkPathParamRoutes10ColonGoblin-8,1160929 -BenchmarkPathParamRoutes10ColonHTTPRouter-8,8165713 -BenchmarkPathParamRoutes10BracketChi-8,2636372 -BenchmarkPathParamRoutes10ColonGin-8,12088365 -BenchmarkPathParamRoutes10ColonBunRouter-8,5223387 +BenchmarkPathParamRoutes10ColonGoblin-8,2237424 +BenchmarkPathParamRoutes10ColonHTTPRouter-8,8215023 +BenchmarkPathParamRoutes10BracketChi-8,2868873 +BenchmarkPathParamRoutes10ColonGin-8,12229501 +BenchmarkPathParamRoutes10ColonBunRouter-8,5265159 BenchmarkPathParamRoutes10ColonHTTPTreeMux-8,1000000 -BenchmarkPathParamRoutes10ColonBeegoMux-8,1373012 -BenchmarkPathParamRoutes10BracketGorillaMux-8,497953 -BenchmarkPathParamRoutes10ColonBon-8,4008288 -BenchmarkPathParamRoutes10ColonDenco-8,6212643 -BenchmarkPathParamRoutes10ColonEcho-8,8329726 -BenchmarkPathParamRoutes10ColonGocraftWeb-8,708202 -BenchmarkPathParamRoutes10BracketGorouter-8,3121602 -BenchmarkPathParamRoutes10InequalitySignOzzoRouting-8,9731100 -BenchmarkPathParamRoutes10ColonN9tE9Routing-8,634324 +BenchmarkPathParamRoutes10ColonBeegoMux-8,1420195 +BenchmarkPathParamRoutes10BracketGorillaMux-8,513360 +BenchmarkPathParamRoutes10ColonBon-8,4243491 +BenchmarkPathParamRoutes10ColonDenco-8,6332478 +BenchmarkPathParamRoutes10ColonEcho-8,8352284 +BenchmarkPathParamRoutes10ColonGocraftWeb-8,693129 +BenchmarkPathParamRoutes10BracketGorouter-8,3296766 +BenchmarkPathParamRoutes10InequalitySignOzzoRouting-8,10019931 +BenchmarkPathParamRoutes10ColonN9tE9Routing-8,651006 diff --git a/reports/pathparam-routes-5/bop.csv b/reports/pathparam-routes-5/bop.csv index eaf782b..cec64b7 100644 --- a/reports/pathparam-routes-5/bop.csv +++ b/reports/pathparam-routes-5/bop.csv @@ -1,4 +1,4 @@ -BenchmarkPathParamRoutes5ColonGoblin-8,412 +BenchmarkPathParamRoutes5ColonGoblin-8,328 BenchmarkPathParamRoutes5ColonHTTPRouter-8,160 BenchmarkPathParamRoutes5BracketChi-8,304 BenchmarkPathParamRoutes5ColonGin-8,0 diff --git a/reports/pathparam-routes-5/nsop.csv b/reports/pathparam-routes-5/nsop.csv index 34e5685..5b348e6 100644 --- a/reports/pathparam-routes-5/nsop.csv +++ b/reports/pathparam-routes-5/nsop.csv @@ -1,15 +1,15 @@ -BenchmarkPathParamRoutes5ColonGoblin-8,574.0 -BenchmarkPathParamRoutes5ColonHTTPRouter-8,92.52 -BenchmarkPathParamRoutes5BracketChi-8,309.1 -BenchmarkPathParamRoutes5ColonGin-8,62.48 -BenchmarkPathParamRoutes5ColonBunRouter-8,112.8 -BenchmarkPathParamRoutes5ColonHTTPTreeMux-8,581.1 -BenchmarkPathParamRoutes5ColonBeegoMux-8,435.6 -BenchmarkPathParamRoutes5BracketGorillaMux-8,1127 -BenchmarkPathParamRoutes5ColonBon-8,217.1 -BenchmarkPathParamRoutes5ColonDenco-8,122.7 -BenchmarkPathParamRoutes5ColonEcho-8,78.45 -BenchmarkPathParamRoutes5ColonGocraftWeb-8,1232 -BenchmarkPathParamRoutes5BracketGorouter-8,278.1 -BenchmarkPathParamRoutes5InequalitySignOzzoRouting-8,73.60 -BenchmarkPathParamRoutes5ColonN9tE9Routing-8,1008 +BenchmarkPathParamRoutes5ColonGoblin-8,341.2 +BenchmarkPathParamRoutes5ColonHTTPRouter-8,89.47 +BenchmarkPathParamRoutes5BracketChi-8,280.9 +BenchmarkPathParamRoutes5ColonGin-8,60.58 +BenchmarkPathParamRoutes5ColonBunRouter-8,110.7 +BenchmarkPathParamRoutes5ColonHTTPTreeMux-8,553.1 +BenchmarkPathParamRoutes5ColonBeegoMux-8,420.6 +BenchmarkPathParamRoutes5BracketGorillaMux-8,1092 +BenchmarkPathParamRoutes5ColonBon-8,198.9 +BenchmarkPathParamRoutes5ColonDenco-8,118.3 +BenchmarkPathParamRoutes5ColonEcho-8,78.09 +BenchmarkPathParamRoutes5ColonGocraftWeb-8,1196 +BenchmarkPathParamRoutes5BracketGorouter-8,253.2 +BenchmarkPathParamRoutes5InequalitySignOzzoRouting-8,71.76 +BenchmarkPathParamRoutes5ColonN9tE9Routing-8,982.1 diff --git a/reports/pathparam-routes-5/time.csv b/reports/pathparam-routes-5/time.csv index 40c3a2a..a19c77b 100644 --- a/reports/pathparam-routes-5/time.csv +++ b/reports/pathparam-routes-5/time.csv @@ -1,15 +1,15 @@ -BenchmarkPathParamRoutes5ColonGoblin-8,2049280 -BenchmarkPathParamRoutes5ColonHTTPRouter-8,13029846 -BenchmarkPathParamRoutes5BracketChi-8,3872946 -BenchmarkPathParamRoutes5ColonGin-8,19343385 -BenchmarkPathParamRoutes5ColonBunRouter-8,10754092 -BenchmarkPathParamRoutes5ColonHTTPTreeMux-8,2070312 -BenchmarkPathParamRoutes5ColonBeegoMux-8,2739680 +BenchmarkPathParamRoutes5ColonGoblin-8,3350758 +BenchmarkPathParamRoutes5ColonHTTPRouter-8,13397467 +BenchmarkPathParamRoutes5BracketChi-8,4290862 +BenchmarkPathParamRoutes5ColonGin-8,19501255 +BenchmarkPathParamRoutes5ColonBunRouter-8,10800812 +BenchmarkPathParamRoutes5ColonHTTPTreeMux-8,2175886 +BenchmarkPathParamRoutes5ColonBeegoMux-8,2861100 BenchmarkPathParamRoutes5BracketGorillaMux-8,1000000 -BenchmarkPathParamRoutes5ColonBon-8,5534796 -BenchmarkPathParamRoutes5ColonDenco-8,9830152 -BenchmarkPathParamRoutes5ColonEcho-8,15313064 -BenchmarkPathParamRoutes5ColonGocraftWeb-8,970765 -BenchmarkPathParamRoutes5BracketGorouter-8,4317782 -BenchmarkPathParamRoutes5InequalitySignOzzoRouting-8,16313232 -BenchmarkPathParamRoutes5ColonN9tE9Routing-8,1000000 +BenchmarkPathParamRoutes5ColonBon-8,6031597 +BenchmarkPathParamRoutes5ColonDenco-8,10170320 +BenchmarkPathParamRoutes5ColonEcho-8,15379792 +BenchmarkPathParamRoutes5ColonGocraftWeb-8,969732 +BenchmarkPathParamRoutes5BracketGorouter-8,4748841 +BenchmarkPathParamRoutes5InequalitySignOzzoRouting-8,16726933 +BenchmarkPathParamRoutes5ColonN9tE9Routing-8,1223982 diff --git a/reports/static-routes-1/nsop.csv b/reports/static-routes-1/nsop.csv index 94ec96a..872c049 100644 --- a/reports/static-routes-1/nsop.csv +++ b/reports/static-routes-1/nsop.csv @@ -1,16 +1,16 @@ -BenchmarkStaticRoutes1ServeMux-8,37.56 -BenchmarkStaticRoutes1Goblin-8,33.99 -BenchmarkStaticRoutes1HTTPRouter-8,8.909 -BenchmarkStaticRoutes1Chi-8,163.0 -BenchmarkStaticRoutes1Gin-8,28.73 -BenchmarkStaticRoutes1BunRouter-8,17.02 -BenchmarkStaticRoutes1HTTPTreeMux-8,154.0 -BenchmarkStaticRoutes1BeegoMux-8,46.46 -BenchmarkStaticRoutes1GorillaMux-8,386.4 -BenchmarkStaticRoutes1Bon-8,10.63 -BenchmarkStaticRoutes1Denco-8,8.916 -BenchmarkStaticRoutes1Echo-8,19.92 -BenchmarkStaticRoutes1GocraftWeb-8,768.7 -BenchmarkStaticRoutes1Gorouter-8,24.00 -BenchmarkStaticRoutes1OzzoRouting-8,26.07 -BenchmarkStaticRoutes1ON9tE9Routing-8,157.9 +BenchmarkStaticRoutes1ServeMux-8,38.26 +BenchmarkStaticRoutes1Goblin-8,29.72 +BenchmarkStaticRoutes1HTTPRouter-8,8.987 +BenchmarkStaticRoutes1Chi-8,148.2 +BenchmarkStaticRoutes1Gin-8,27.15 +BenchmarkStaticRoutes1BunRouter-8,14.36 +BenchmarkStaticRoutes1HTTPTreeMux-8,138.4 +BenchmarkStaticRoutes1BeegoMux-8,47.50 +BenchmarkStaticRoutes1GorillaMux-8,358.8 +BenchmarkStaticRoutes1Bon-8,10.62 +BenchmarkStaticRoutes1Denco-8,9.059 +BenchmarkStaticRoutes1Echo-8,20.12 +BenchmarkStaticRoutes1GocraftWeb-8,744.0 +BenchmarkStaticRoutes1Gorouter-8,21.49 +BenchmarkStaticRoutes1OzzoRouting-8,26.12 +BenchmarkStaticRoutes1ON9tE9Routing-8,140.5 diff --git a/reports/static-routes-1/time.csv b/reports/static-routes-1/time.csv index b0a1b54..f4dd731 100644 --- a/reports/static-routes-1/time.csv +++ b/reports/static-routes-1/time.csv @@ -1,16 +1,16 @@ -BenchmarkStaticRoutes1ServeMux-8,31851897 -BenchmarkStaticRoutes1Goblin-8,35242333 -BenchmarkStaticRoutes1HTTPRouter-8,134900438 -BenchmarkStaticRoutes1Chi-8,7252261 -BenchmarkStaticRoutes1Gin-8,41631550 -BenchmarkStaticRoutes1BunRouter-8,70006395 -BenchmarkStaticRoutes1HTTPTreeMux-8,7859656 -BenchmarkStaticRoutes1BeegoMux-8,25884801 -BenchmarkStaticRoutes1GorillaMux-8,3094188 +BenchmarkStaticRoutes1ServeMux-8,31260028 +BenchmarkStaticRoutes1Goblin-8,40379964 +BenchmarkStaticRoutes1HTTPRouter-8,134442093 +BenchmarkStaticRoutes1Chi-8,8052058 +BenchmarkStaticRoutes1Gin-8,44147605 +BenchmarkStaticRoutes1BunRouter-8,83394621 +BenchmarkStaticRoutes1HTTPTreeMux-8,8690398 +BenchmarkStaticRoutes1BeegoMux-8,25187836 +BenchmarkStaticRoutes1GorillaMux-8,3336543 BenchmarkStaticRoutes1Bon-8,100000000 -BenchmarkStaticRoutes1Denco-8,133846348 -BenchmarkStaticRoutes1Echo-8,60949671 -BenchmarkStaticRoutes1GocraftWeb-8,1578338 -BenchmarkStaticRoutes1Gorouter-8,52163613 -BenchmarkStaticRoutes1OzzoRouting-8,45524383 -BenchmarkStaticRoutes1ON9tE9Routing-8,7664803 +BenchmarkStaticRoutes1Denco-8,134562303 +BenchmarkStaticRoutes1Echo-8,59950042 +BenchmarkStaticRoutes1GocraftWeb-8,1608612 +BenchmarkStaticRoutes1Gorouter-8,56132800 +BenchmarkStaticRoutes1OzzoRouting-8,46019254 +BenchmarkStaticRoutes1ON9tE9Routing-8,8451075 diff --git a/reports/static-routes-10/nsop.csv b/reports/static-routes-10/nsop.csv index 415784d..e2cc33d 100644 --- a/reports/static-routes-10/nsop.csv +++ b/reports/static-routes-10/nsop.csv @@ -1,16 +1,16 @@ -BenchmarkStaticRoutes10ServeMux-8,148.0 -BenchmarkStaticRoutes10Goblin-8,290.5 -BenchmarkStaticRoutes10HTTPRouter-8,10.77 -BenchmarkStaticRoutes10Chi-8,174.8 -BenchmarkStaticRoutes10Gin-8,29.96 -BenchmarkStaticRoutes10BunRouter-8,18.62 -BenchmarkStaticRoutes10HTTPTreeMux-8,242.9 -BenchmarkStaticRoutes10BeegoMux-8,238.5 -BenchmarkStaticRoutes10GorillaMux-8,489.2 -BenchmarkStaticRoutes10Bon-8,10.47 -BenchmarkStaticRoutes10Denco-8,9.005 -BenchmarkStaticRoutes10Echo-8,50.25 -BenchmarkStaticRoutes10GocraftWeb-8,1007 -BenchmarkStaticRoutes10Gorouter-8,71.23 -BenchmarkStaticRoutes10OzzoRouting-8,43.09 -BenchmarkStaticRoutes10N9tE9Routing-8,728.6 +BenchmarkStaticRoutes10ServeMux-8,148.7 +BenchmarkStaticRoutes10Goblin-8,277.2 +BenchmarkStaticRoutes10HTTPRouter-8,10.22 +BenchmarkStaticRoutes10Chi-8,148.3 +BenchmarkStaticRoutes10Gin-8,28.71 +BenchmarkStaticRoutes10BunRouter-8,15.80 +BenchmarkStaticRoutes10HTTPTreeMux-8,229.9 +BenchmarkStaticRoutes10BeegoMux-8,241.6 +BenchmarkStaticRoutes10GorillaMux-8,469.6 +BenchmarkStaticRoutes10Bon-8,10.52 +BenchmarkStaticRoutes10Denco-8,8.963 +BenchmarkStaticRoutes10Echo-8,50.50 +BenchmarkStaticRoutes10GocraftWeb-8,986.7 +BenchmarkStaticRoutes10Gorouter-8,66.60 +BenchmarkStaticRoutes10OzzoRouting-8,42.92 +BenchmarkStaticRoutes10N9tE9Routing-8,723.0 diff --git a/reports/static-routes-10/time.csv b/reports/static-routes-10/time.csv index 78c63eb..00b311b 100644 --- a/reports/static-routes-10/time.csv +++ b/reports/static-routes-10/time.csv @@ -1,16 +1,16 @@ -BenchmarkStaticRoutes10ServeMux-8,7253216 -BenchmarkStaticRoutes10Goblin-8,4096243 +BenchmarkStaticRoutes10ServeMux-8,7264929 +BenchmarkStaticRoutes10Goblin-8,4323399 BenchmarkStaticRoutes10HTTPRouter-8,100000000 -BenchmarkStaticRoutes10Chi-8,7284903 -BenchmarkStaticRoutes10Gin-8,40183560 -BenchmarkStaticRoutes10BunRouter-8,64502257 -BenchmarkStaticRoutes10HTTPTreeMux-8,4849598 -BenchmarkStaticRoutes10BeegoMux-8,5056942 -BenchmarkStaticRoutes10GorillaMux-8,2450286 +BenchmarkStaticRoutes10Chi-8,8048611 +BenchmarkStaticRoutes10Gin-8,41878116 +BenchmarkStaticRoutes10BunRouter-8,75950764 +BenchmarkStaticRoutes10HTTPTreeMux-8,5250801 +BenchmarkStaticRoutes10BeegoMux-8,4969017 +BenchmarkStaticRoutes10GorillaMux-8,2562878 BenchmarkStaticRoutes10Bon-8,100000000 -BenchmarkStaticRoutes10Denco-8,133246112 -BenchmarkStaticRoutes10Echo-8,24012085 -BenchmarkStaticRoutes10GocraftWeb-8,1000000 -BenchmarkStaticRoutes10Gorouter-8,16627858 -BenchmarkStaticRoutes10OzzoRouting-8,27887978 -BenchmarkStaticRoutes10N9tE9Routing-8,1641374 +BenchmarkStaticRoutes10Denco-8,134754518 +BenchmarkStaticRoutes10Echo-8,23970236 +BenchmarkStaticRoutes10GocraftWeb-8,1213682 +BenchmarkStaticRoutes10Gorouter-8,18047248 +BenchmarkStaticRoutes10OzzoRouting-8,28017253 +BenchmarkStaticRoutes10N9tE9Routing-8,1664376 diff --git a/reports/static-routes-5/nsop.csv b/reports/static-routes-5/nsop.csv index 7882010..13ef697 100644 --- a/reports/static-routes-5/nsop.csv +++ b/reports/static-routes-5/nsop.csv @@ -1,16 +1,16 @@ -BenchmarkStaticRoutes5ServeMux-8,75.73 -BenchmarkStaticRoutes5Goblin-8,135.0 -BenchmarkStaticRoutes5HTTPRouter-8,9.254 -BenchmarkStaticRoutes5Chi-8,166.4 -BenchmarkStaticRoutes5Gin-8,29.05 -BenchmarkStaticRoutes5BunRouter-8,17.63 -BenchmarkStaticRoutes5HTTPTreeMux-8,192.6 -BenchmarkStaticRoutes5BeegoMux-8,138.2 -BenchmarkStaticRoutes5GorillaMux-8,419.6 -BenchmarkStaticRoutes5Bon-8,10.71 -BenchmarkStaticRoutes5Denco-8,9.011 -BenchmarkStaticRoutes5Echo-8,30.15 -BenchmarkStaticRoutes5GocraftWeb-8,862.6 -BenchmarkStaticRoutes5Gorouter-8,45.26 -BenchmarkStaticRoutes5OzzoRouting-8,33.39 -BenchmarkStaticRoutes5ON9tE9Routing-8,385.0 +BenchmarkStaticRoutes5ServeMux-8,75.65 +BenchmarkStaticRoutes5Goblin-8,125.2 +BenchmarkStaticRoutes5HTTPRouter-8,9.248 +BenchmarkStaticRoutes5Chi-8,148.6 +BenchmarkStaticRoutes5Gin-8,28.24 +BenchmarkStaticRoutes5BunRouter-8,14.85 +BenchmarkStaticRoutes5HTTPTreeMux-8,176.3 +BenchmarkStaticRoutes5BeegoMux-8,143.3 +BenchmarkStaticRoutes5GorillaMux-8,393.1 +BenchmarkStaticRoutes5Bon-8,10.57 +BenchmarkStaticRoutes5Denco-8,8.999 +BenchmarkStaticRoutes5Echo-8,30.67 +BenchmarkStaticRoutes5GocraftWeb-8,849.2 +BenchmarkStaticRoutes5Gorouter-8,40.53 +BenchmarkStaticRoutes5OzzoRouting-8,33.56 +BenchmarkStaticRoutes5ON9tE9Routing-8,365.4 diff --git a/reports/static-routes-5/time.csv b/reports/static-routes-5/time.csv index c121fee..2f2a786 100644 --- a/reports/static-routes-5/time.csv +++ b/reports/static-routes-5/time.csv @@ -1,16 +1,16 @@ -BenchmarkStaticRoutes5ServeMux-8,13437040 -BenchmarkStaticRoutes5Goblin-8,8901708 -BenchmarkStaticRoutes5HTTPRouter-8,129621186 -BenchmarkStaticRoutes5Chi-8,7210196 -BenchmarkStaticRoutes5Gin-8,41211974 -BenchmarkStaticRoutes5BunRouter-8,68203778 -BenchmarkStaticRoutes5HTTPTreeMux-8,6201728 -BenchmarkStaticRoutes5BeegoMux-8,8645566 -BenchmarkStaticRoutes5GorillaMux-8,2834072 +BenchmarkStaticRoutes5ServeMux-8,15832058 +BenchmarkStaticRoutes5Goblin-8,9580180 +BenchmarkStaticRoutes5HTTPRouter-8,129799516 +BenchmarkStaticRoutes5Chi-8,8008406 +BenchmarkStaticRoutes5Gin-8,42466225 +BenchmarkStaticRoutes5BunRouter-8,80952087 +BenchmarkStaticRoutes5HTTPTreeMux-8,6828529 +BenchmarkStaticRoutes5BeegoMux-8,8400084 +BenchmarkStaticRoutes5GorillaMux-8,3059030 BenchmarkStaticRoutes5Bon-8,100000000 -BenchmarkStaticRoutes5Denco-8,134140972 -BenchmarkStaticRoutes5Echo-8,39699386 -BenchmarkStaticRoutes5GocraftWeb-8,1392926 -BenchmarkStaticRoutes5Gorouter-8,27706906 -BenchmarkStaticRoutes5OzzoRouting-8,35422566 -BenchmarkStaticRoutes5ON9tE9Routing-8,3122547 +BenchmarkStaticRoutes5Denco-8,133360999 +BenchmarkStaticRoutes5Echo-8,39227169 +BenchmarkStaticRoutes5GocraftWeb-8,1421674 +BenchmarkStaticRoutes5Gorouter-8,29620791 +BenchmarkStaticRoutes5OzzoRouting-8,35856304 +BenchmarkStaticRoutes5ON9tE9Routing-8,3286712 diff --git a/reports/static-routes-root/nsop.csv b/reports/static-routes-root/nsop.csv index 1b210cb..b221dca 100644 --- a/reports/static-routes-root/nsop.csv +++ b/reports/static-routes-root/nsop.csv @@ -1,16 +1,16 @@ -BenchmarkStaticRoutesRootServeMux-8,36.33 -BenchmarkStaticRoutesRootGoblin-8,23.33 -BenchmarkStaticRoutesRootHTTPRouter-8,8.646 -BenchmarkStaticRoutesRootChi-8,166.5 -BenchmarkStaticRoutesRootGin-8,28.58 -BenchmarkStaticRoutesRootBunRouter-8,11.90 -BenchmarkStaticRoutesRootHTTPTreeMux-8,149.5 -BenchmarkStaticRoutesRootBeegoMux-8,37.85 -BenchmarkStaticRoutesRootGorillaMux-8,381.9 -BenchmarkStaticRoutesRootBon-8,10.51 -BenchmarkStaticRoutesRootDenco-8,8.910 -BenchmarkStaticRoutesRootEcho-8,18.73 -BenchmarkStaticRoutesRootGocraftWeb-8,749.8 -BenchmarkStaticRoutesRootGorouter-8,16.65 -BenchmarkStaticRoutesRootOzzoRouting-8,24.97 -BenchmarkStaticRoutesRootN9tE9Routing-8,119.1 +BenchmarkStaticRoutesRootServeMux-8,37.13 +BenchmarkStaticRoutesRootGoblin-8,15.66 +BenchmarkStaticRoutesRootHTTPRouter-8,8.288 +BenchmarkStaticRoutesRootChi-8,148.7 +BenchmarkStaticRoutesRootGin-8,26.91 +BenchmarkStaticRoutesRootBunRouter-8,9.844 +BenchmarkStaticRoutesRootHTTPTreeMux-8,133.7 +BenchmarkStaticRoutesRootBeegoMux-8,37.70 +BenchmarkStaticRoutesRootGorillaMux-8,352.3 +BenchmarkStaticRoutesRootBon-8,10.60 +BenchmarkStaticRoutesRootDenco-8,8.944 +BenchmarkStaticRoutesRootEcho-8,18.51 +BenchmarkStaticRoutesRootGocraftWeb-8,743.6 +BenchmarkStaticRoutesRootGorouter-8,16.54 +BenchmarkStaticRoutesRootOzzoRouting-8,25.36 +BenchmarkStaticRoutesRootN9tE9Routing-8,100.3 diff --git a/reports/static-routes-root/time.csv b/reports/static-routes-root/time.csv index 173c12e..caa2bb0 100644 --- a/reports/static-routes-root/time.csv +++ b/reports/static-routes-root/time.csv @@ -1,16 +1,16 @@ -BenchmarkStaticRoutesRootServeMux-8,32733160 -BenchmarkStaticRoutesRootGoblin-8,51884132 -BenchmarkStaticRoutesRootHTTPRouter-8,145829186 -BenchmarkStaticRoutesRootChi-8,7254184 -BenchmarkStaticRoutesRootGin-8,42563881 -BenchmarkStaticRoutesRootBunRouter-8,100000000 -BenchmarkStaticRoutesRootHTTPTreeMux-8,8065448 -BenchmarkStaticRoutesRootBeegoMux-8,31691360 -BenchmarkStaticRoutesRootGorillaMux-8,3162660 +BenchmarkStaticRoutesRootServeMux-8,32706376 +BenchmarkStaticRoutesRootGoblin-8,76439406 +BenchmarkStaticRoutesRootHTTPRouter-8,144948184 +BenchmarkStaticRoutesRootChi-8,8070156 +BenchmarkStaticRoutesRootGin-8,44602617 +BenchmarkStaticRoutesRootBunRouter-8,122551147 +BenchmarkStaticRoutesRootHTTPTreeMux-8,8886540 +BenchmarkStaticRoutesRootBeegoMux-8,31958985 +BenchmarkStaticRoutesRootGorillaMux-8,3404859 BenchmarkStaticRoutesRootBon-8,100000000 -BenchmarkStaticRoutesRootDenco-8,135744692 -BenchmarkStaticRoutesRootEcho-8,64909012 -BenchmarkStaticRoutesRootGocraftWeb-8,1596338 -BenchmarkStaticRoutesRootGorouter-8,71930586 -BenchmarkStaticRoutesRootOzzoRouting-8,47753750 -BenchmarkStaticRoutesRootN9tE9Routing-8,10074039 +BenchmarkStaticRoutesRootDenco-8,133318143 +BenchmarkStaticRoutesRootEcho-8,64878891 +BenchmarkStaticRoutesRootGocraftWeb-8,1608999 +BenchmarkStaticRoutesRootGorouter-8,71320846 +BenchmarkStaticRoutesRootOzzoRouting-8,47726209 +BenchmarkStaticRoutesRootN9tE9Routing-8,11669716