From b1069454f6dfa69841a1e2afeda7c2f2028ccfef Mon Sep 17 00:00:00 2001 From: Xin Hao Date: Wed, 28 Feb 2024 15:53:15 +0800 Subject: [PATCH] Fix static check warning: calling regexp.Match in a loop has poor performance, consider using regexp.Compile --- result_set.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/result_set.go b/result_set.go index d7ba3f2c..8bc6193b 100644 --- a/result_set.go +++ b/result_set.go @@ -1348,6 +1348,10 @@ func (res ResultSet) MakeDotGraphByStruct() string { // generate profiling data for both Row and TCK formats. func MakeProfilingData(planNodeDesc *graph.PlanNodeDescription, isTckFmt bool) string { var profileArr []string + re, err := regexp.Compile(`^[^{(\[]\w+`) + if err != nil { + panic(err) + } for i, profile := range planNodeDesc.GetProfiles() { var statArr []string statArr = append(statArr, fmt.Sprintf("\"version\":%d", i)) @@ -1359,7 +1363,7 @@ func MakeProfilingData(planNodeDesc *graph.PlanNodeDescription, isTckFmt bool) s } for k, v := range profile.GetOtherStats() { s := string(v) - if matched, err := regexp.Match(`^[^{(\[]\w+`, v); err == nil && matched { + if matched := re.Match(v); matched { if !strings.HasPrefix(s, "\"") { s = fmt.Sprintf("\"%s", s) }