Added router benchmarks
This commit is contained in:
38
Benchmarks_test.go
Normal file
38
Benchmarks_test.go
Normal file
@ -0,0 +1,38 @@
|
||||
package server_test
|
||||
|
||||
import (
|
||||
"net/http/httptest"
|
||||
"testing"
|
||||
|
||||
"git.akyoto.dev/go/server"
|
||||
)
|
||||
|
||||
func BenchmarkHello(b *testing.B) {
|
||||
request := httptest.NewRequest("GET", "/", nil)
|
||||
response := &NullResponse{}
|
||||
s := server.New()
|
||||
|
||||
s.Get("/", func(ctx server.Context) error {
|
||||
return ctx.String("Hello")
|
||||
})
|
||||
|
||||
for range b.N {
|
||||
s.ServeHTTP(response, request)
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkGitHub(b *testing.B) {
|
||||
request := httptest.NewRequest("GET", "/repos/:owner/:repo", nil)
|
||||
response := &NullResponse{}
|
||||
s := server.New()
|
||||
|
||||
for _, route := range loadRoutes("testdata/github.txt") {
|
||||
s.Router().Add(route.Method, route.Path, func(server.Context) error {
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
||||
for range b.N {
|
||||
s.ServeHTTP(response, request)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user