Skip to content

Commit 460b649

Browse files
author
Arthur White
committed
Add cloudykit/router
1 parent 72b1346 commit 460b649

File tree

7 files changed

+233
-120
lines changed

7 files changed

+233
-120
lines changed

bench_test.go

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,12 @@ func BenchmarkBone_Param(b *testing.B) {
120120
r, _ := http.NewRequest("GET", "/user/gordon", nil)
121121
benchRequest(b, router, r)
122122
}
123+
func BenchmarkCloudyKitRouter_Param(b *testing.B) {
124+
router := loadCloudyKitRouterSingle("GET", "/user/:name", cloudyKitRouterHandler)
125+
126+
r, _ := http.NewRequest("GET", "/user/gordon", nil)
127+
benchRequest(b, router, r)
128+
}
123129
func BenchmarkDenco_Param(b *testing.B) {
124130
router := loadDencoSingle("GET", "/user/:name", dencoHandler)
125131

@@ -313,6 +319,12 @@ func BenchmarkBone_Param5(b *testing.B) {
313319
r, _ := http.NewRequest("GET", fiveRoute, nil)
314320
benchRequest(b, router, r)
315321
}
322+
func BenchmarkCloudyKitRouter_Param5(b *testing.B) {
323+
router := loadCloudyKitRouterSingle("GET", fiveColon, cloudyKitRouterHandler)
324+
325+
r, _ := http.NewRequest("GET", fiveRoute, nil)
326+
benchRequest(b, router, r)
327+
}
316328
func BenchmarkDenco_Param5(b *testing.B) {
317329
router := loadDencoSingle("GET", fiveColon, dencoHandler)
318330

@@ -505,6 +517,12 @@ func BenchmarkBone_Param20(b *testing.B) {
505517
r, _ := http.NewRequest("GET", twentyRoute, nil)
506518
benchRequest(b, router, r)
507519
}
520+
func BenchmarkCloudyKitRouter_Param20(b *testing.B) {
521+
router := loadCloudyKitRouterSingle("GET", twentyColon, cloudyKitRouterHandler)
522+
523+
r, _ := http.NewRequest("GET", twentyRoute, nil)
524+
benchRequest(b, router, r)
525+
}
508526
func BenchmarkDenco_Param20(b *testing.B) {
509527
router := loadDencoSingle("GET", twentyColon, dencoHandler)
510528

@@ -693,6 +711,12 @@ func BenchmarkBone_ParamWrite(b *testing.B) {
693711
r, _ := http.NewRequest("GET", "/user/gordon", nil)
694712
benchRequest(b, router, r)
695713
}
714+
func BenchmarkCloudyKitRouter_ParamWrite(b *testing.B) {
715+
router := loadCloudyKitRouterSingle("GET", "/user/:name", cloudyKitRouterHandler)
716+
717+
r, _ := http.NewRequest("GET", "/user/gordon", nil)
718+
benchRequest(b, router, r)
719+
}
696720
func BenchmarkDenco_ParamWrite(b *testing.B) {
697721
router := loadDencoSingle("GET", "/user/:name", dencoHandlerWrite)
698722

@@ -747,14 +771,14 @@ func BenchmarkGorillaMux_ParamWrite(b *testing.B) {
747771
r, _ := http.NewRequest("GET", "/user/gordon", nil)
748772
benchRequest(b, router, r)
749773
}
750-
func BenchmarkHttpRouter_ParamWrite(b *testing.B) {
751-
router := loadHttpRouterSingle("GET", "/user/:name", httpRouterHandleWrite)
774+
func BenchmarkGowwwRouter_ParamWrite(b *testing.B) {
775+
router := loadGowwwRouterSingle("GET", "/user/:name", http.HandlerFunc(gowwwRouterHandleWrite))
752776

753777
r, _ := http.NewRequest("GET", "/user/gordon", nil)
754778
benchRequest(b, router, r)
755779
}
756-
func BenchmarkGowwwRouter_ParamWrite(b *testing.B) {
757-
router := loadGowwwRouterSingle("GET", "/user/:name", http.HandlerFunc(gowwwRouterHandleWrite))
780+
func BenchmarkHttpRouter_ParamWrite(b *testing.B) {
781+
router := loadHttpRouterSingle("GET", "/user/:name", httpRouterHandleWrite)
758782

759783
r, _ := http.NewRequest("GET", "/user/gordon", nil)
760784
benchRequest(b, router, r)

github_test.go

Lines changed: 44 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -274,35 +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-
githubGowwwRouter http.Handler
291-
githubHttpRouter http.Handler
292-
githubHttpTreeMux http.Handler
293-
githubKocha http.Handler
294-
githubLARS http.Handler
295-
githubMacaron http.Handler
296-
githubMartini http.Handler
297-
githubPat http.Handler
298-
githubPossum http.Handler
299-
githubR2router http.Handler
300-
githubRevel http.Handler
301-
githubRivet http.Handler
302-
githubTango http.Handler
303-
githubTigerTonic http.Handler
304-
githubTraffic http.Handler
305-
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
306307
// githubZeus http.Handler
307308
)
308309

@@ -321,6 +322,9 @@ func init() {
321322
calcMem("Bone", func() {
322323
githubBone = loadBone(githubAPI)
323324
})
325+
calcMem("CloudyKitRouter", func() {
326+
githubCloudyKitRouter = loadCloudyKitRouter(githubAPI)
327+
})
324328
calcMem("Denco", func() {
325329
githubDenco = loadDenco(githubAPI)
326330
})
@@ -420,6 +424,10 @@ func BenchmarkBone_GithubStatic(b *testing.B) {
420424
req, _ := http.NewRequest("GET", "/user/repos", nil)
421425
benchRequest(b, githubBone, req)
422426
}
427+
func BenchmarkCloudyKitRouter_GithubStatic(b *testing.B) {
428+
req, _ := http.NewRequest("GET", "/user/repos", nil)
429+
benchRequest(b, githubCloudyKitRouter, req)
430+
}
423431
func BenchmarkDenco_GithubStatic(b *testing.B) {
424432
req, _ := http.NewRequest("GET", "/user/repos", nil)
425433
benchRequest(b, githubDenco, req)
@@ -543,6 +551,10 @@ func BenchmarkBone_GithubParam(b *testing.B) {
543551
req, _ := http.NewRequest("GET", "/repos/julienschmidt/httprouter/stargazers", nil)
544552
benchRequest(b, githubBone, req)
545553
}
554+
func BenchmarkCloudyKitRouter_GithubParam(b *testing.B) {
555+
req, _ := http.NewRequest("GET", "/repos/julienschmidt/httprouter/stargazers", nil)
556+
benchRequest(b, githubCloudyKitRouter, req)
557+
}
546558
func BenchmarkDenco_GithubParam(b *testing.B) {
547559
req, _ := http.NewRequest("GET", "/repos/julienschmidt/httprouter/stargazers", nil)
548560
benchRequest(b, githubDenco, req)
@@ -662,6 +674,9 @@ func BenchmarkBeego_GithubAll(b *testing.B) {
662674
func BenchmarkBone_GithubAll(b *testing.B) {
663675
benchRoutes(b, githubBone, githubAPI)
664676
}
677+
func BenchmarkCloudyKitRouter_GithubAll(b *testing.B) {
678+
benchRoutes(b, githubCloudyKitRouter, githubAPI)
679+
}
665680
func BenchmarkDenco_GithubAll(b *testing.B) {
666681
benchRoutes(b, githubDenco, githubAPI)
667682
}

gplus_test.go

Lines changed: 48 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -36,35 +36,36 @@ var gplusAPI = []route{
3636
}
3737

3838
var (
39-
gplusAce http.Handler
40-
gplusBear http.Handler
41-
gplusBeego http.Handler
42-
gplusBone http.Handler
43-
gplusDenco http.Handler
44-
gplusEcho http.Handler
45-
gplusGin http.Handler
46-
gplusGocraftWeb http.Handler
47-
gplusGoji http.Handler
48-
gplusGojiv2 http.Handler
49-
gplusGoJsonRest http.Handler
50-
gplusGoRestful http.Handler
51-
gplusGorillaMux http.Handler
52-
gplusGowwwRouter http.Handler
53-
gplusHttpRouter http.Handler
54-
gplusHttpTreeMux http.Handler
55-
gplusKocha http.Handler
56-
gplusLARS http.Handler
57-
gplusMacaron http.Handler
58-
gplusMartini http.Handler
59-
gplusPat http.Handler
60-
gplusPossum http.Handler
61-
gplusR2router http.Handler
62-
gplusRevel http.Handler
63-
gplusRivet http.Handler
64-
gplusTango http.Handler
65-
gplusTigerTonic http.Handler
66-
gplusTraffic http.Handler
67-
gplusVulcan http.Handler
39+
gplusAce http.Handler
40+
gplusBear http.Handler
41+
gplusBeego http.Handler
42+
gplusBone http.Handler
43+
gplusCloudyKitRouter http.Handler
44+
gplusDenco http.Handler
45+
gplusEcho http.Handler
46+
gplusGin http.Handler
47+
gplusGocraftWeb http.Handler
48+
gplusGoji http.Handler
49+
gplusGojiv2 http.Handler
50+
gplusGoJsonRest http.Handler
51+
gplusGoRestful http.Handler
52+
gplusGorillaMux http.Handler
53+
gplusGowwwRouter http.Handler
54+
gplusHttpRouter http.Handler
55+
gplusHttpTreeMux http.Handler
56+
gplusKocha http.Handler
57+
gplusLARS http.Handler
58+
gplusMacaron http.Handler
59+
gplusMartini http.Handler
60+
gplusPat http.Handler
61+
gplusPossum http.Handler
62+
gplusR2router http.Handler
63+
gplusRevel http.Handler
64+
gplusRivet http.Handler
65+
gplusTango http.Handler
66+
gplusTigerTonic http.Handler
67+
gplusTraffic http.Handler
68+
gplusVulcan http.Handler
6869
// gplusZeus http.Handler
6970
)
7071

@@ -83,6 +84,9 @@ func init() {
8384
calcMem("Bone", func() {
8485
gplusBone = loadBone(gplusAPI)
8586
})
87+
calcMem("CloudyKitRouter", func() {
88+
gplusCloudyKitRouter = loadCloudyKitRouter(gplusAPI)
89+
})
8690
calcMem("Denco", func() {
8791
gplusDenco = loadDenco(gplusAPI)
8892
})
@@ -182,6 +186,10 @@ func BenchmarkBone_GPlusStatic(b *testing.B) {
182186
req, _ := http.NewRequest("GET", "/people", nil)
183187
benchRequest(b, gplusBone, req)
184188
}
189+
func BenchmarkCloudyKitRouter_GPlusStatic(b *testing.B) {
190+
req, _ := http.NewRequest("GET", "/people", nil)
191+
benchRequest(b, gplusCloudyKitRouter, req)
192+
}
185193
func BenchmarkDenco_GPlusStatic(b *testing.B) {
186194
req, _ := http.NewRequest("GET", "/people", nil)
187195
benchRequest(b, gplusDenco, req)
@@ -305,6 +313,10 @@ func BenchmarkBone_GPlusParam(b *testing.B) {
305313
req, _ := http.NewRequest("GET", "/people/118051310819094153327", nil)
306314
benchRequest(b, gplusBone, req)
307315
}
316+
func BenchmarkCloudyKitRouter_GPlusParam(b *testing.B) {
317+
req, _ := http.NewRequest("GET", "/people/118051310819094153327", nil)
318+
benchRequest(b, gplusCloudyKitRouter, req)
319+
}
308320
func BenchmarkDenco_GPlusParam(b *testing.B) {
309321
req, _ := http.NewRequest("GET", "/people/118051310819094153327", nil)
310322
benchRequest(b, gplusDenco, req)
@@ -428,6 +440,10 @@ func BenchmarkBone_GPlus2Params(b *testing.B) {
428440
req, _ := http.NewRequest("GET", "/people/118051310819094153327/activities/123456789", nil)
429441
benchRequest(b, gplusBone, req)
430442
}
443+
func BenchmarkCloudyKitRouter_GPlus2Params(b *testing.B) {
444+
req, _ := http.NewRequest("GET", "/people/118051310819094153327/activities/123456789", nil)
445+
benchRequest(b, gplusCloudyKitRouter, req)
446+
}
431447
func BenchmarkDenco_GPlus2Params(b *testing.B) {
432448
req, _ := http.NewRequest("GET", "/people/118051310819094153327/activities/123456789", nil)
433449
benchRequest(b, gplusDenco, req)
@@ -547,6 +563,9 @@ func BenchmarkBeego_GPlusAll(b *testing.B) {
547563
func BenchmarkBone_GPlusAll(b *testing.B) {
548564
benchRoutes(b, gplusBone, gplusAPI)
549565
}
566+
func BenchmarkCloudyKitRouter_GPlusAll(b *testing.B) {
567+
benchRoutes(b, gplusCloudyKitRouter, gplusAPI)
568+
}
550569
func BenchmarkDenco_GPlusAll(b *testing.B) {
551570
benchRoutes(b, gplusDenco, gplusAPI)
552571
}

0 commit comments

Comments
 (0)