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) } }