diff options
| author | Taras Madan <tarasmadan@google.com> | 2024-07-17 10:23:12 +0200 |
|---|---|---|
| committer | Taras Madan <tarasmadan@google.com> | 2024-07-17 09:48:42 +0000 |
| commit | 3bdf1c5586d449bb17aa0373b45b5b3bbeedda46 (patch) | |
| tree | 5fe828e32dc2691bd7200d763c2f3b106add31bb /pkg | |
| parent | e94834c03d8bd189227351a69bdd395f45ddbd5a (diff) | |
syz-cover: cache subsystems to speed-up report generation
Diffstat (limited to 'pkg')
| -rw-r--r-- | pkg/cover/heatmap.go | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/pkg/cover/heatmap.go b/pkg/cover/heatmap.go index 2582de7d7..2b89c081b 100644 --- a/pkg/cover/heatmap.go +++ b/pkg/cover/heatmap.go @@ -182,9 +182,15 @@ func DoSubsystemsHeatMap(w io.Writer, projectID, ns string, dateFrom, dateTo civ panic(err) } ssMatcher := subsystem.MakePathMatcher(subsystem.GetList("linux")) + ssCache := make(map[string][]*subsystem.Subsystem) var ssCovAndDates []*fileCoverageAndDate for _, cad := range covAndDates { - for _, ss := range ssMatcher.Match(cad.Filepath) { + sss := ssCache[cad.Filepath] + if sss == nil { + sss = ssMatcher.Match(cad.Filepath) + ssCache[cad.Filepath] = sss + } + for _, ss := range sss { newRecord := fileCoverageAndDate{ Filepath: ss.Name + "/" + cad.Filepath, Instrumented: cad.Instrumented, |
