mirror of
https://github.com/prometheus/prometheus.git
synced 2026-05-04 20:06:12 +02:00
[PERF] Regex: stop calling Simplify
It slows down compilation and doesn't make any of our benchmarks go faster. Assumed to be something that helped at an earlier point, but doesn't help now. Add a benchmark with a more complicated regex to demonstrate the slowdown. Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
This commit is contained in:
parent
7d42ddfaad
commit
042f945af1
@ -225,6 +225,13 @@ func BenchmarkNewMatcher(b *testing.B) {
|
||||
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) {
|
||||
|
||||
@ -67,8 +67,6 @@ func NewFastRegexMatcher(v string) (*FastRegexMatcher, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
// Simplify the syntax tree to run faster.
|
||||
parsed = parsed.Simplify()
|
||||
m.re, err = regexp.Compile("^(?s:" + parsed.String() + ")$")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user