aboutsummaryrefslogtreecommitdiff
path: root/gopls/internal/regtest/bench/references_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'gopls/internal/regtest/bench/references_test.go')
-rw-r--r--gopls/internal/regtest/bench/references_test.go33
1 files changed, 24 insertions, 9 deletions
diff --git a/gopls/internal/regtest/bench/references_test.go b/gopls/internal/regtest/bench/references_test.go
index 782275053..d47ea56a4 100644
--- a/gopls/internal/regtest/bench/references_test.go
+++ b/gopls/internal/regtest/bench/references_test.go
@@ -7,16 +7,31 @@ package bench
import "testing"
func BenchmarkReferences(b *testing.B) {
- env := repos["tools"].sharedEnv(b)
-
- env.OpenFile("internal/imports/mod.go")
- loc := env.RegexpSearch("internal/imports/mod.go", "gopathwalk")
- env.References(loc)
- env.Await(env.DoneWithOpen())
+ tests := []struct {
+ repo string
+ file string
+ regexp string
+ }{
+ {"istio", "pkg/config/model.go", "type (Meta)"},
+ {"kubernetes", "pkg/controller/lookup_cache.go", "type (objectWithMeta)"},
+ {"kuma", "pkg/events/interfaces.go", "type (Event)"},
+ {"pkgsite", "internal/log/log.go", "func (Infof)"},
+ {"starlark", "syntax/syntax.go", "type (Ident)"},
+ {"tools", "internal/lsp/source/view.go", "type (Snapshot)"},
+ }
- b.ResetTimer()
+ for _, test := range tests {
+ b.Run(test.repo, func(b *testing.B) {
+ env := getRepo(b, test.repo).sharedEnv(b)
+ env.OpenFile(test.file)
+ loc := env.RegexpSearch(test.file, test.regexp)
+ env.Await(env.DoneWithOpen())
+ env.References(loc) // pre-warm the query
+ b.ResetTimer()
- for i := 0; i < b.N; i++ {
- env.References(loc)
+ for i := 0; i < b.N; i++ {
+ env.References(loc)
+ }
+ })
}
}