diff --git a/README.md b/README.md index 116f444..7f91fa2 100644 --- a/README.md +++ b/README.md @@ -59,11 +59,11 @@ coverage: 100.0% of statements ## Benchmarks ``` -BenchmarkBlog/Len1-Param0-12 200621386 5.963 ns/op 0 B/op 0 allocs/op -BenchmarkBlog/Len1-Param1-12 129550375 9.224 ns/op 0 B/op 0 allocs/op -BenchmarkGitHub/Len7-Param0-12 70562060 16.98 ns/op 0 B/op 0 allocs/op -BenchmarkGitHub/Len7-Param1-12 49366180 22.56 ns/op 0 B/op 0 allocs/op -BenchmarkGitHub/Len7-Param2-12 24332162 47.91 ns/op 0 B/op 0 allocs/op +BenchmarkBlog/Len1-Param0-12 201446469 5.956 ns/op 0 B/op 0 allocs/op +BenchmarkBlog/Len1-Param1-12 130212613 9.221 ns/op 0 B/op 0 allocs/op +BenchmarkGitHub/Len7-Param0-12 70604431 16.97 ns/op 0 B/op 0 allocs/op +BenchmarkGitHub/Len7-Param1-12 50499285 22.55 ns/op 0 B/op 0 allocs/op +BenchmarkGitHub/Len7-Param2-12 25460875 46.84 ns/op 0 B/op 0 allocs/op ``` ## License diff --git a/Tree.go b/Tree.go index 5f33073..fef2ef6 100644 --- a/Tree.go +++ b/Tree.go @@ -136,13 +136,7 @@ begin: offset = i i++ - for { - // We reached the end. - if i == uint(len(path)) { - addParameter(node.prefix, path[offset:i]) - return node.data - } - + for i < uint(len(path)) { // node: /:id|/posts // path: /123|/posts if path[i] == separator { @@ -156,6 +150,9 @@ begin: i++ } + + addParameter(node.prefix, path[offset:i]) + return node.data } // node: /|*any