benchmark-action / benchmark-action/github-action-benchmark
Golang regex matching is slow
- Vorherrschende Sprache
- TypeScript
- Sterne
- 1.3k
- Forks
- 183
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Example repro:
```
line = 'BenchmarkRangeQuery/rate_with_large_number_of_series,_1m_range-16 \t 1\t1313564639 ns/op\t1360919864 B/op\t 3697144 allocs/op'
const reExtract = /^(Benchmark\w+(?:\/?[\w()$%^&*-]*?)*?)(-\d+)?\s+(\d+)\s+([0-9.]+)\s+(.+)$/;
line.match(reExtract);
```
Matching is very, very slow. Takes >1min. Probably due to backtracking. Needs investigation.
Beitragsleitfaden
Rechercherichtung
Beginne damit, den bereitgestellten Fall line.match(reExtract) mit der Beispiel-Benchmark-Zeile zu reproduzieren und zu ermitteln, wo dieser reguläre Ausdruck in der TypeScript action verwendet wird. Untersuche, warum das Matching mehr als eine Minute dauert; abgeschlossen ist die Aufgabe, wenn die Eingabe ohne die gemeldete starke Verzögerung korrekt extrahiert wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript
- Bereich
- performance, tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100