lambdaclass / lambdaclass/lambda_compiler_kit

perf: fix O(n²) string concatenation in parseStr (Tokenizer.lean)

Offen
#17 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Lean
Sterne
2
Forks
1
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Problem

parseStr in Lck/Json/Tokenizer.lean accumulates the string result with acc ++ s, which is O(n²) for large strings because each concatenation copies the accumulated string.

Suggested Fix

Use String.Builder accumulation or collect into List Char/List String and concatenate once at the close-quote branch to achieve O(n) behavior.

References

Raised in AI code review (Codex #1, medium severity).

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Öffne Lck/Json/Tokenizer.lean und untersuche parseStr, insbesondere seinen Akkumulator und den Zweig für schließende Anführungszeichen. Ersetze die wiederholte String-Konkatenation durch einen der vorgeschlagenen Ansätze zur Akkumulation in linearer Zeit, wobei das Parsing-Verhalten erhalten bleibt, und bestätige, dass große Strings keine Arbeit mit O(n²) mehr auslösen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Bereich
compilers, performance
Issue-Typ
Refactoring
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
58/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.