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++ { for _, route := range routes { router.Lookup(route.method, route.path) } } } 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++ { for _, route := range routes { router.LookupNoAlloc(route.method, route.path, addParameter) } } }