Skip to content

Commit bd1a006

Browse files
Merge pull request #74 from arthurwhite/master
Add gowww/router and cloudykit/router
2 parents b81acfd + 9aaad63 commit bd1a006

File tree

7 files changed

+339
-116
lines changed

7 files changed

+339
-116
lines changed

bench_test.go

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,12 @@ func BenchmarkBone_Param(b *testing.B) {
128128
r, _ := http.NewRequest("GET", "/user/gordon", nil)
129129
benchRequest(b, router, r)
130130
}
131+
func BenchmarkCloudyKitRouter_Param(b *testing.B) {
132+
router := loadCloudyKitRouterSingle("GET", "/user/:name", cloudyKitRouterHandler)
133+
134+
r, _ := http.NewRequest("GET", "/user/gordon", nil)
135+
benchRequest(b, router, r)
136+
}
131137
func BenchmarkDenco_Param(b *testing.B) {
132138
router := loadDencoSingle("GET", "/user/:name", dencoHandler)
133139

@@ -182,6 +188,12 @@ func BenchmarkGorillaMux_Param(b *testing.B) {
182188
r, _ := http.NewRequest("GET", "/user/gordon", nil)
183189
benchRequest(b, router, r)
184190
}
191+
func BenchmarkGowwwRouter_Param(b *testing.B) {
192+
router := loadGowwwRouterSingle("GET", "/user/:name", http.HandlerFunc(httpHandlerFunc))
193+
194+
r, _ := http.NewRequest("GET", "/user/gordon", nil)
195+
benchRequest(b, router, r)
196+
}
185197
func BenchmarkHttpRouter_Param(b *testing.B) {
186198
router := loadHttpRouterSingle("GET", "/user/:name", httpRouterHandle)
187199

@@ -314,6 +326,12 @@ func BenchmarkBone_Param5(b *testing.B) {
314326
r, _ := http.NewRequest("GET", fiveRoute, nil)
315327
benchRequest(b, router, r)
316328
}
329+
func BenchmarkCloudyKitRouter_Param5(b *testing.B) {
330+
router := loadCloudyKitRouterSingle("GET", fiveColon, cloudyKitRouterHandler)
331+
332+
r, _ := http.NewRequest("GET", fiveRoute, nil)
333+
benchRequest(b, router, r)
334+
}
317335
func BenchmarkDenco_Param5(b *testing.B) {
318336
router := loadDencoSingle("GET", fiveColon, dencoHandler)
319337

@@ -368,6 +386,12 @@ func BenchmarkGorillaMux_Param5(b *testing.B) {
368386
r, _ := http.NewRequest("GET", fiveRoute, nil)
369387
benchRequest(b, router, r)
370388
}
389+
func BenchmarkGowwwRouter_Param5(b *testing.B) {
390+
router := loadGowwwRouterSingle("GET", fiveColon, http.HandlerFunc(httpHandlerFunc))
391+
392+
r, _ := http.NewRequest("GET", fiveRoute, nil)
393+
benchRequest(b, router, r)
394+
}
371395
func BenchmarkHttpRouter_Param5(b *testing.B) {
372396
router := loadHttpRouterSingle("GET", fiveColon, httpRouterHandle)
373397

@@ -500,6 +524,12 @@ func BenchmarkBone_Param20(b *testing.B) {
500524
r, _ := http.NewRequest("GET", twentyRoute, nil)
501525
benchRequest(b, router, r)
502526
}
527+
func BenchmarkCloudyKitRouter_Param20(b *testing.B) {
528+
router := loadCloudyKitRouterSingle("GET", twentyColon, cloudyKitRouterHandler)
529+
530+
r, _ := http.NewRequest("GET", twentyRoute, nil)
531+
benchRequest(b, router, r)
532+
}
503533
func BenchmarkDenco_Param20(b *testing.B) {
504534
router := loadDencoSingle("GET", twentyColon, dencoHandler)
505535

@@ -554,6 +584,12 @@ func BenchmarkGorillaMux_Param20(b *testing.B) {
554584
r, _ := http.NewRequest("GET", twentyRoute, nil)
555585
benchRequest(b, router, r)
556586
}
587+
func BenchmarkGowwwRouter_Param20(b *testing.B) {
588+
router := loadGowwwRouterSingle("GET", twentyColon, http.HandlerFunc(httpHandlerFunc))
589+
590+
r, _ := http.NewRequest("GET", twentyRoute, nil)
591+
benchRequest(b, router, r)
592+
}
557593
func BenchmarkHttpRouter_Param20(b *testing.B) {
558594
router := loadHttpRouterSingle("GET", twentyColon, httpRouterHandle)
559595

@@ -682,6 +718,12 @@ func BenchmarkBone_ParamWrite(b *testing.B) {
682718
r, _ := http.NewRequest("GET", "/user/gordon", nil)
683719
benchRequest(b, router, r)
684720
}
721+
func BenchmarkCloudyKitRouter_ParamWrite(b *testing.B) {
722+
router := loadCloudyKitRouterSingle("GET", "/user/:name", cloudyKitRouterHandler)
723+
724+
r, _ := http.NewRequest("GET", "/user/gordon", nil)
725+
benchRequest(b, router, r)
726+
}
685727
func BenchmarkDenco_ParamWrite(b *testing.B) {
686728
router := loadDencoSingle("GET", "/user/:name", dencoHandlerWrite)
687729

@@ -736,6 +778,12 @@ func BenchmarkGorillaMux_ParamWrite(b *testing.B) {
736778
r, _ := http.NewRequest("GET", "/user/gordon", nil)
737779
benchRequest(b, router, r)
738780
}
781+
func BenchmarkGowwwRouter_ParamWrite(b *testing.B) {
782+
router := loadGowwwRouterSingle("GET", "/user/:name", http.HandlerFunc(gowwwRouterHandleWrite))
783+
784+
r, _ := http.NewRequest("GET", "/user/gordon", nil)
785+
benchRequest(b, router, r)
786+
}
739787
func BenchmarkHttpRouter_ParamWrite(b *testing.B) {
740788
router := loadHttpRouterSingle("GET", "/user/:name", httpRouterHandleWrite)
741789

github_test.go

Lines changed: 58 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -274,34 +274,36 @@ var githubAPI = []route{
274274
}
275275

276276
var (
277-
githubAce http.Handler
278-
githubBear http.Handler
279-
githubBeego http.Handler
280-
githubBone http.Handler
281-
githubDenco http.Handler
282-
githubEcho http.Handler
283-
githubGin http.Handler
284-
githubGocraftWeb http.Handler
285-
githubGoji http.Handler
286-
githubGojiv2 http.Handler
287-
githubGoJsonRest http.Handler
288-
githubGoRestful http.Handler
289-
githubGorillaMux http.Handler
290-
githubHttpRouter http.Handler
291-
githubHttpTreeMux http.Handler
292-
githubKocha http.Handler
293-
githubLARS http.Handler
294-
githubMacaron http.Handler
295-
githubMartini http.Handler
296-
githubPat http.Handler
297-
githubPossum http.Handler
298-
githubR2router http.Handler
299-
githubRevel http.Handler
300-
githubRivet http.Handler
301-
githubTango http.Handler
302-
githubTigerTonic http.Handler
303-
githubTraffic http.Handler
304-
githubVulcan http.Handler
277+
githubAce http.Handler
278+
githubBear http.Handler
279+
githubBeego http.Handler
280+
githubBone http.Handler
281+
githubCloudyKitRouter http.Handler
282+
githubDenco http.Handler
283+
githubEcho http.Handler
284+
githubGin http.Handler
285+
githubGocraftWeb http.Handler
286+
githubGoji http.Handler
287+
githubGojiv2 http.Handler
288+
githubGoJsonRest http.Handler
289+
githubGoRestful http.Handler
290+
githubGorillaMux http.Handler
291+
githubGowwwRouter http.Handler
292+
githubHttpRouter http.Handler
293+
githubHttpTreeMux http.Handler
294+
githubKocha http.Handler
295+
githubLARS http.Handler
296+
githubMacaron http.Handler
297+
githubMartini http.Handler
298+
githubPat http.Handler
299+
githubPossum http.Handler
300+
githubR2router http.Handler
301+
githubRevel http.Handler
302+
githubRivet http.Handler
303+
githubTango http.Handler
304+
githubTigerTonic http.Handler
305+
githubTraffic http.Handler
306+
githubVulcan http.Handler
305307
// githubZeus http.Handler
306308
)
307309

@@ -320,6 +322,9 @@ func init() {
320322
calcMem("Bone", func() {
321323
githubBone = loadBone(githubAPI)
322324
})
325+
calcMem("CloudyKitRouter", func() {
326+
githubCloudyKitRouter = loadCloudyKitRouter(githubAPI)
327+
})
323328
calcMem("Denco", func() {
324329
githubDenco = loadDenco(githubAPI)
325330
})
@@ -347,6 +352,9 @@ func init() {
347352
calcMem("GorillaMux", func() {
348353
githubGorillaMux = loadGorillaMux(githubAPI)
349354
})
355+
calcMem("GowwwRouter", func() {
356+
githubGowwwRouter = loadGowwwRouter(githubAPI)
357+
})
350358
calcMem("HttpRouter", func() {
351359
githubHttpRouter = loadHttpRouter(githubAPI)
352360
})
@@ -416,6 +424,10 @@ func BenchmarkBone_GithubStatic(b *testing.B) {
416424
req, _ := http.NewRequest("GET", "/user/repos", nil)
417425
benchRequest(b, githubBone, req)
418426
}
427+
func BenchmarkCloudyKitRouter_GithubStatic(b *testing.B) {
428+
req, _ := http.NewRequest("GET", "/user/repos", nil)
429+
benchRequest(b, githubCloudyKitRouter, req)
430+
}
419431
func BenchmarkDenco_GithubStatic(b *testing.B) {
420432
req, _ := http.NewRequest("GET", "/user/repos", nil)
421433
benchRequest(b, githubDenco, req)
@@ -452,6 +464,10 @@ func BenchmarkGorillaMux_GithubStatic(b *testing.B) {
452464
req, _ := http.NewRequest("GET", "/user/repos", nil)
453465
benchRequest(b, githubGorillaMux, req)
454466
}
467+
func BenchmarkGowwwRouter_GithubStatic(b *testing.B) {
468+
req, _ := http.NewRequest("GET", "/user/repos", nil)
469+
benchRequest(b, githubGowwwRouter, req)
470+
}
455471
func BenchmarkHttpRouter_GithubStatic(b *testing.B) {
456472
req, _ := http.NewRequest("GET", "/user/repos", nil)
457473
benchRequest(b, githubHttpRouter, req)
@@ -536,6 +552,10 @@ func BenchmarkBone_GithubParam(b *testing.B) {
536552
req, _ := http.NewRequest("GET", "/repos/julienschmidt/httprouter/stargazers", nil)
537553
benchRequest(b, githubBone, req)
538554
}
555+
func BenchmarkCloudyKitRouter_GithubParam(b *testing.B) {
556+
req, _ := http.NewRequest("GET", "/repos/julienschmidt/httprouter/stargazers", nil)
557+
benchRequest(b, githubCloudyKitRouter, req)
558+
}
539559
func BenchmarkDenco_GithubParam(b *testing.B) {
540560
req, _ := http.NewRequest("GET", "/repos/julienschmidt/httprouter/stargazers", nil)
541561
benchRequest(b, githubDenco, req)
@@ -572,6 +592,10 @@ func BenchmarkGorillaMux_GithubParam(b *testing.B) {
572592
req, _ := http.NewRequest("GET", "/repos/julienschmidt/httprouter/stargazers", nil)
573593
benchRequest(b, githubGorillaMux, req)
574594
}
595+
func BenchmarkGowwwRouter_GithubParam(b *testing.B) {
596+
req, _ := http.NewRequest("GET", "/repos/julienschmidt/httprouter/stargazers", nil)
597+
benchRequest(b, githubGowwwRouter, req)
598+
}
575599
func BenchmarkHttpRouter_GithubParam(b *testing.B) {
576600
req, _ := http.NewRequest("GET", "/repos/julienschmidt/httprouter/stargazers", nil)
577601
benchRequest(b, githubHttpRouter, req)
@@ -652,6 +676,9 @@ func BenchmarkBeego_GithubAll(b *testing.B) {
652676
func BenchmarkBone_GithubAll(b *testing.B) {
653677
benchRoutes(b, githubBone, githubAPI)
654678
}
679+
func BenchmarkCloudyKitRouter_GithubAll(b *testing.B) {
680+
benchRoutes(b, githubCloudyKitRouter, githubAPI)
681+
}
655682
func BenchmarkDenco_GithubAll(b *testing.B) {
656683
benchRoutes(b, githubDenco, githubAPI)
657684
}
@@ -679,6 +706,9 @@ func BenchmarkGoRestful_GithubAll(b *testing.B) {
679706
func BenchmarkGorillaMux_GithubAll(b *testing.B) {
680707
benchRoutes(b, githubGorillaMux, githubAPI)
681708
}
709+
func BenchmarkGowwwRouter_GithubAll(b *testing.B) {
710+
benchRoutes(b, githubGowwwRouter, githubAPI)
711+
}
682712
func BenchmarkHttpRouter_GithubAll(b *testing.B) {
683713
benchRoutes(b, githubHttpRouter, githubAPI)
684714
}

0 commit comments

Comments
 (0)