From c747bb8ff781fbe8a9194f0728ec4691eea28177 Mon Sep 17 00:00:00 2001 From: Anna Shaleva Date: Tue, 15 Oct 2024 15:18:45 +0300 Subject: [PATCH] neotest: preallocate coverage blocks list And always use pointers for coverage block processing, dereference is excessive in this context. Signed-off-by: Anna Shaleva --- pkg/neotest/coverage.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkg/neotest/coverage.go b/pkg/neotest/coverage.go index bd6218511c..7e502d9dc3 100644 --- a/pkg/neotest/coverage.go +++ b/pkg/neotest/coverage.go @@ -154,7 +154,7 @@ func writeCoverageReport(w io.Writer) { } } -func processCover() map[documentName][]coverBlock { +func processCover() map[documentName][]*coverBlock { documents := make(map[documentName]struct{}) for _, scriptRawCoverage := range rawCoverage { for _, documentName := range scriptRawCoverage.debugInfo.Documents { @@ -162,7 +162,7 @@ func processCover() map[documentName][]coverBlock { } } - cover := make(map[documentName][]coverBlock) + cover := make(map[documentName][]*coverBlock) for documentName := range documents { mappedBlocks := make(map[int]*coverBlock) @@ -197,9 +197,9 @@ func processCover() map[documentName][]coverBlock { } } - var blocks []coverBlock + var blocks = make([]*coverBlock, 0, len(mappedBlocks)) for _, b := range mappedBlocks { - blocks = append(blocks, *b) + blocks = append(blocks, b) } cover[documentName] = blocks }