Codeflash-Analyse: 118 Performance-Bugs in zwei von Claude Code verfassten PRs gefunden

✍️ OpenClawRadar📅 Veröffentlicht: 28. Februar 2026🔗 Source
Codeflash-Analyse: 118 Performance-Bugs in zwei von Claude Code verfassten PRs gefunden
Ad

Leistungsanalyse von KI-generiertem Code

Codeflash nutzte ihr eigenes Optimierungstool, um zwei Pull Requests zu analysieren, die mit Claude Code geschrieben wurden. Die analysierten Funktionen waren Java-Sprachunterstützung (52.000 Zeilen über Parser, Kontextextraktoren, Instrumentierung, Testläufer, Assertion-Transformatoren) und React-Framework-Unterstützung (24.000 Zeilen zur Komponentenerkennung, Profilerstellung, Benchmarking und Code-Ersetzung).

Wichtige Erkenntnisse

Allein in diesen beiden PRs identifizierte Codeflash 118 Funktionen, die deutlich schlechter als nötig abschnitten. Dies waren keine Randfälle – es handelte sich um Funktionen im Hot Path ihres Optimierers, die bei jedem Optimierungsjob für jeden Nutzer liefen.

Muster der Ineffizienz

  • Katastrophal ineffiziente Algorithmen: Eine Typenextraktionsfunktion im Java-Kontextmodul war 446-mal langsamer als nötig, implementiert mit naivem String-Scanning anstatt baumbasierter Extraktion. Eine Helferfunktion zur Funktionssuche war aus ähnlichen Gründen 74-mal langsamer.
  • Redundante Berechnungen: Funktionen analysierten bereits geparste Daten erneut, durchliefen bereits traversierte Bäume erneut, bauten Strings Zeichen für Zeichen wieder auf. Ein Assertion-Target-Call-Builder war 19-mal langsamer, weil er bei jedem Aufruf Byte-Konvertierungen neu berechnete statt zu cachen. Ein Import-Einfügungs-Tool im React-PR war aufgrund redundanter Baumtraversierungen 36-mal langsamer.
  • Fehlende Zwischenspeicherung: Funktionen, die wiederholt mit denselben Eingaben aufgerufen wurden, berechneten Ergebnisse jedes Mal von Grund auf neu. Ein Typdefinitionsextraktor im React-PR war ohne Memoisierung von Zwischenergebnissen 16-mal langsamer, und ein Export-Checker aus demselben Grund 9-mal langsamer.
  • Suboptimale Datenstrukturen: Listen, wo Sets geeigneter wären, lineare Suchen, wo Hash-Lookups funktionieren würden, String-Verkettungen in Schleifen anstatt Joins. Ein Klammern-Balancierungs-Parser war aufgrund ineffizienter Datenstrukturauswahl 3-mal langsamer.
Ad

Konkretes Beispiel: 19-fache Leistungssteigerung

Claude Code schrieb diese Funktion zur Konvertierung von Byte-Offsets in Zeichenpositionen:

# Called for every AST node found in the file
start_char = len(content_bytes[:start_byte].decode("utf8"))
end_char = len(content_bytes[:end_byte].decode("utf8"))

Codeflash ersetzte sie durch:

# Build a lookup table once, then binary search for every node
from bisect import bisect_right
cum_bytes = [0]
for ch in source.decode("utf8"):
    cum_bytes.append(cum_bytes[-1] + len(ch.encode("utf8")))
start_char = bisect_right(cum_bytes, start_byte) - 1
end_char = bisect_right(cum_bytes, end_byte) - 1

Der ursprüngliche Code dekodiert bei jedem Aufruf das gesamte Byte-Präfix vom Dateianfang – O(n) pro Lookup. Bei einer Datei mit Hunderten von AST-Knoten bedeutet dies, dieselben Bytes hunderte Male neu zu dekodieren. Die optimierte Version baut einmal eine Lookup-Tabelle auf und nutzt binäre Suche – O(n) einmal, dann O(log n) pro Lookup.

Der Artikel betont, dass es nicht darum geht, ob KI-Coding-Agenten genutzt werden sollten (sie empfehlen deren Nutzung), sondern was mit dem Code danach passiert. Diese Leistungsprobleme stellen eine neue Kategorie von technischer Schuld dar, die KI-Agenten systematisch einführen, indem sie sich auf Korrektheit und Lesbarkeit konzentrieren statt auf Leistungsoptimierung.

📖 Read the full source: HN AI Agents

Ad

👀 Siehe auch

Claude Codes dateibasiertes Speichersystem: Eine pragmatische Alternative zu Vektor-Datenbanken
Werkzeuge

Claude Codes dateibasiertes Speichersystem: Eine pragmatische Alternative zu Vektor-Datenbanken

Claude Code implementiert ein dateibasiertes Speichersystem, das .md-Dateien mit Frontmatter-Metadaten und einer MEMORY.md-Indexdatei verwendet. Es vermeidet Vektordatenbanken und Embedding-Pipelines, indem es Dateien scannt, Manifeste erstellt und ein kleines Modell zur Auswahl relevanter Erinnerungen nutzt.

OpenClawRadar
Übersetze zu de: Reframe-Slash-Befehl für Claude Code wendet kognitionswissenschaftliche Technik zur Problemlösung an
Werkzeuge

Übersetze zu de: Reframe-Slash-Befehl für Claude Code wendet kognitionswissenschaftliche Technik zur Problemlösung an

Ein Entwickler hat einen /reframe-Slash-Befehl für Claude Code erstellt, der eine kognitionswissenschaftliche Technik namens Distanz-Engagement-Oszillation implementiert. Der Ansatz wurde mit 50 Problemen über drei Open-Weight-LLMs getestet und übertraf durchgängig andere Methoden.

OpenClawRadar
Das WCY-Format reduziert den Token-Overhead von LLMs um 50–71 % und fügt strukturelle „Ich weiß nicht“-Marker hinzu.
Werkzeuge

Das WCY-Format reduziert den Token-Overhead von LLMs um 50–71 % und fügt strukturelle „Ich weiß nicht“-Marker hinzu.

WCY (Watch-Compute-Yield) ist ein zeilenorientiertes Format, das den JSON-Token-Overhead um 50-71% reduziert und strukturelle '?'-Marker für LLMs einführt, um Unsicherheit während des Denkprozesses anzuzeigen. Das Format erfordert kein Fine-Tuning – nur drei Few-Shot-Beispiele.

OpenClawRadar
Exploration der Claude-Code-Richtlinien: Ein minimalistischer Ansatz in 65 Zeilen.
Werkzeuge

Exploration der Claude-Code-Richtlinien: Ein minimalistischer Ansatz in 65 Zeilen.

Die Claude Code-Erweiterung fasst essentielle KI-Coding-Prinzipien in nur 65 Zeilen Markdown zusammen und betont 'Denken vor dem Programmieren'. Trotz ihrer Einfachheit hat sie bei Entwicklern bemerkenswerte Popularität erlangt.

OpenClawRadar