Improved code quality

This commit is contained in:
2023-09-01 12:43:36 +02:00
parent 48545fdf01
commit e5b0eb443a
10 changed files with 131 additions and 120 deletions

38
benchmarks_test.go Normal file
View File

@ -0,0 +1,38 @@
package router_test
import (
"testing"
"git.akyoto.dev/go/router"
)
func BenchmarkLookup(b *testing.B) {
router := router.New[string]()
routes := loadRoutes("testdata/github.txt")
for _, route := range routes {
router.Add(route.method, route.path, "")
}
b.ResetTimer()
for i := 0; i < b.N; i++ {
router.Lookup("GET", "/repos/:owner/:repo/issues")
}
}
func BenchmarkLookupNoAlloc(b *testing.B) {
router := router.New[string]()
routes := loadRoutes("testdata/github.txt")
addParameter := func(string, string) {}
for _, route := range routes {
router.Add(route.method, route.path, "")
}
b.ResetTimer()
for i := 0; i < b.N; i++ {
router.LookupNoAlloc("GET", "/repos/:owner/:repo/issues", addParameter)
}
}