Skip to content

Releases: bmf-san/go-router-benchmark

2.2.1

23 Apr 09:10
5fb4a7f
Compare
Choose a tag to compare

What's Changed

  • Fix go version written in README.md by @bmf-san in #25

Full Changelog: 2.2.0...2.2.1

2.2.0

23 Apr 09:02
2b78fe2
Compare
Choose a tag to compare

What's Changed

Full Changelog: 2.1.0...2.2.0

2.1.0

13 Jun 05:10
27cb259
Compare
Choose a tag to compare

What's Changed

Full Changelog: 2.0.2...2.1.0

2.0.2

09 Jan 04:40
d67afea
Compare
Choose a tag to compare

What's Changed

Full Changelog: 2.0.1...2.0.2

Results

Benchmark results are published in a spreadsheet.

go-router-benchmark

Benchmark system

  • go version: go1.19
  • goos: darwin
  • goarch: amd64
  • pkg: github.com/go-router-benchmark
  • cpu: VirtualApple @ 2.50GHz

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.png

Graph - time

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.png

Graph - nsop

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.png

Graph - bop

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.png

Graph - allocs

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.png

Graph - time

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.png

Graph - nsop

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.png

Graph - bop

allocs

allocs pathparam-routes-1 pathparam-routes-5 pathparam-routes-10
goblin 3 3 3
httprouter 1 1 1
chi 2 2 2
gin 0 0 0
bunrouter 0 0 0
httptreemux 6 9 11
beegomux 5 5 6
gorillamux 8 8 9
bon 2 2 2
denco 1 1 1
echo 0 0 0
gocraftweb 9 12 14
gorouter 4 4 4
ozzorouting 0 0 0
techbook13-sample 10 33 59

allocs.png

Graph - allocs

2.0.1

31 Dec 10:23
4cc1fe1
Compare
Choose a tag to compare

What's Changed

  • Bump github.com/gin-gonic/gin from 1.8.1 to 1.8.2 by @dependabot in #15
  • Update goblin to 6.0.2 and reports by @bmf-san in #16

Full Changelog: 2.0.0...2.0.1

Results

Benchmark results are published in a spreadsheet.

go-router-benchmark

Benchmark system

  • go version: go1.19
  • goos: darwin
  • goarch: amd64
  • pkg: github.com/go-router-benchmark
  • cpu: VirtualApple @ 2.50GHz

Static routes

time

time static-routes-root static-routes-1 static-routes-5 static-routes-10
servemux 22326099 22221638 13315640 8833089
goblin 36488626 16842892 5596704 2954113
httprouter 100000000 89831284 90506269 78500426
chi 5444018 5507234 5507876 5434119
gin 34423407 33918145 33814206 33427231
bunrouter 64793797 54832910 54696386 54530683
httptreemux 6643852 6495336 5263798 4144136
beegomux 23409304 16145904 1000000 576976
gorillamux 2138784 2112379 1888113 1849734
bon 58644336 75074289 75386946 71121824
denco 76661395 79387834 78444615 76890422
echo 35956402 34636906 22299979 13134742
gocraftweb 1287339 1267345 1000000 871116
gorouter 34712218 26967124 16617764 8033125
ozzorouting 32717011 36112761 24745796 18973456
techbook13-sample 8303772 6282072 2716520 1384425

time.png

Graph - time

nsop

nsop static-routes-root static-routes-1 static-routes-5 static-routes-10
servemux 52.1 54.81 89.24 136.2
goblin 33.08 68.89 209.3 406.1
httprouter 10.57 13.77 13.87 15.81
chi 212.1 217.3 214.1 216.1
gin 34.95 35.42 35.3 35.71
bunrouter 18.83 21.58 21.85 21.94
httptreemux 178.8 184.1 226.5 287.8
beegomux 50.65 72.42 1074 2039
gorillamux 563.6 570 620.1 649.3
bon 20.41 16.14 16.02 16.86
denco 15.85 15.28 15.31 16.05
echo 32.97 34.06 53.8 90.54
gocraftweb 929.6 945.4 1075 1212
gorouter 35.38 44.54 71.98 149.4
ozzorouting 39.76 33.46 47.27 62.27
techbook13-sample 145.2 189.3 447.4 865

nsop.png

Graph - nsop

bop

bop static-routes-root static-routes-1 static-routes-5 static-routes-10
servemux 0 0 0 0
goblin 0 16 80 160
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

Graph - bop

allocs

allocs static-routes-root static-routes-1 static-routes-5 static-routes-10
servemux 0 0 0 0
goblin 0 1 1 1
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

Graph - allocs

Pathparams routes

time

time pathparam-routes-1 pathparam-routes-5 pathparam-routes-10
goblin 1982352 558514 309733
httprouter 26343277 9935683 5878401
chi 4295593 2661771 1872310
gin 28992159 15262336 9485934
bunrouter 36372362 8543359 4185458
httptreemux 3131305 1570034 800544
beegomux 3223519 785046 341499
gorillamux 1343919 497670 223892
bon 6345180 4494978 3316269
denco 18371928 8272776 4986136
echo 30776793 12063312 6765202 ...
Read more

2.0.0

18 Dec 13:43
ee43690
Compare
Choose a tag to compare

What's Changed

New Contributors

  • @lkeix made their first contribution in #14

Full Changelog: 1.2.0...2.0.0

Results

Benchmark results are published in a spreadsheet.

go-router-benchmark

Benchmark system

  • go version: go1.19
  • goos: darwin
  • goarch: amd64
  • pkg: github.com/go-router-benchmark
  • cpu: VirtualApple @ 2.50GHz

Static routes

time

time static-routes-root static-routes-1 static-routes-5 static-routes-10
servemux 24301910 22053468 13324357 8851803
goblin 32296879 16738813 5753088 3111172
httprouter 100000000 100000000 100000000 72498970
chi 5396652 5350285 5353856 5415325
gin 34933861 34088810 34136852 33966028
bunrouter 63478486 54812665 53564055 54345159
httptreemux 6669231 6219157 5278312 4300488
beegomux 22320199 15369320 1000000 577272
gorillamux 1807042 2104210 1904696 1869037
bon 72425132 56830177 59573305 58364338
denco 90249313 92561344 89325312 73905086
echo 41742093 36207878 23962478 12379764
gocraftweb 1284613 1262863 1000000 889360
gorouter 21622920 28592134 15582778 9636147
ozzorouting 31406931 34989970 24825552 19431296
techbook13-sample 8176849 6349896 2684418 1384840

time.png

Graph - time

nsop

nsop static-routes-root static-routes-1 static-routes-5 static-routes-10
servemux 50.44 54.97 89.81 135.2
goblin 36.63 69.9 205.2 382.7
httprouter 10.65 10.74 10.75 16.42
chi 217.2 220.1 216.7 221.5
gin 34.53 34.91 34.69 35.04
bunrouter 18.77 21.78 22.41 22
httptreemux 178.8 190.9 227.2 277.7
beegomux 55.07 74.69 1080 2046
gorillamux 595.7 572.8 626.5 643.3
bon 15.75 20.17 18.87 19.16
denco 14 13.03 13.4 15.87
echo 28.17 32.83 49.82 96.77
gocraftweb 929.4 948.8 1078 1215
gorouter 55.16 37.64 76.6 124.1
ozzorouting 42.62 34.22 48.12 61.6
techbook13-sample 146.1 188.4 443.5 867.8

nsop.png

Graph - nsop

bop

bop static-routes-root static-routes-1 static-routes-5 static-routes-10
servemux 0 0 0 0
goblin 0 16 80 160
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

Graph - bop

allocs

allocs static-routes-root static-routes-1 static-routes-5 static-routes-10
servemux 0 0 0 0
goblin 0 1 1 1
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

Graph - allocs

Pathparams routes

time

time pathparam-routes-1 pathparam-routes-5 pathparam-routes-10
goblin 1802690 492392 252274
httprouter 25775940 10057874 6060843
chi 4337922 2687157 1772881
gin 29479381 15714673 9586220
bunrouter 37098772 8479642 3747968
httptreemux 2610324 1550306 706356
beegomux 3177818 797472 343969
gorillamux 1364386 470180 223627
bon 6639216 4486780 3285571
denco 20093167 8503317 4988640 ...
Read more

1.2.0

16 Dec 14:06
de8b80b
Compare
Choose a tag to compare

What's Changed

  • Add net/http ServeMux for static tests by @bmf-san in #12

Full Changelog: 1.1.1...1.2.0

1.1.1

15 Dec 13:35
b0773b8
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 1.1.0...1.1.1

1.1.0

11 Dec 12:58
ca4022b
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.0.0...1.1.0

1.0.0

17 Nov 13:08
e2a702d
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: https://github.com/bmf-san/go-router-benchmark/commits/1.0.0