Merge pull request #17212 from bboreham/no-simplify

[PERF] Regex: stop calling Simplify
This commit is contained in:
Bryan Boreham 2025-10-02 10:51:04 +01:00 committed by GitHub
commit 968d722bb2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 7 additions and 2 deletions

View File

@ -225,6 +225,13 @@ func BenchmarkNewMatcher(b *testing.B) {
NewMatcher(MatchRegexp, "foo", "bar") NewMatcher(MatchRegexp, "foo", "bar")
} }
}) })
b.Run("complex regex", func(b *testing.B) {
b.ReportAllocs()
b.ResetTimer()
for i := 0; i <= b.N; i++ {
NewMatcher(MatchRegexp, "foo", "((.*)(bar|b|buzz)(.+)|foo){10}")
}
})
} }
func BenchmarkMatcher_String(b *testing.B) { func BenchmarkMatcher_String(b *testing.B) {

View File

@ -67,8 +67,6 @@ func NewFastRegexMatcher(v string) (*FastRegexMatcher, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
// Simplify the syntax tree to run faster.
parsed = parsed.Simplify()
m.re, err = regexp.Compile("^(?s:" + parsed.String() + ")$") m.re, err = regexp.Compile("^(?s:" + parsed.String() + ")$")
if err != nil { if err != nil {
return nil, err return nil, err