all repos

clerk @ 892180582dccc852236879a1acc412c90cac01ad

missing tooling for ledger/hledger

clerk/internal/lsp/diagnostics_test.go (view raw)

Oleksandr Smirnov Oleksandr Smirnov
olexsmir@gmail.com
lsp: benchmark formatting and semantic tokens, 1 month ago
1
package lsp
2
3
import (
4
	"testing"
5
6
	"go.lsp.dev/uri"
7
)
8
9
func BenchmarkDiagnostics(b *testing.B) {
10
	content := openJouranl(b, "../../journal/testdata/journals/actual-1ktxns-100accts.journal")
11
12
	srv := NewServer("test")
13
	srv.server.openDoc(uri.URI("file:///test.journal"), content, 1, "journal")
14
15
	b.ReportAllocs()
16
	b.ResetTimer()
17
	for b.Loop() {
18
		// Per-edit cost: re-resolve (parse) + lint + group findings.
19
		a := srv.server.buildAnalysis()
20
		finds := dedupFinds(srv.server.linter.Run(a))
21
		_ = srv.server.groupFindsByFile(finds)
22
	}
23
}