Added router benchmarks

This commit is contained in:
2024-03-12 20:35:19 +01:00
parent 070b374c6e
commit cb6106a26d
10 changed files with 129 additions and 11 deletions

38
Benchmarks_test.go Normal file
View 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)
}
}