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

Bibliothekar MCP: Lokaler KI-Server für dauerhaften Kontext mit Dokumenten
Werkzeuge

Bibliothekar MCP: Lokaler KI-Server für dauerhaften Kontext mit Dokumenten

Librarian MCP ist ein quelloffener Model Context Protocol-Server, der lokal läuft und sich mit Jan, LM Studio oder Claude Desktop verbindet, wodurch KI-Modelle Dokumentensammlungen durchsuchen und analysieren können, während der vollständige Konversationskontext und die Datenprivatheit erhalten bleiben.

OpenClawRadar
Agent-Telefonie-Ebene wird Open Source: Geben Sie Ihrer KI eine Telefonnummer
Werkzeuge

Agent-Telefonie-Ebene wird Open Source: Geben Sie Ihrer KI eine Telefonnummer

Ein Entwickler baute eine Open-Source-Telefonie-Ebene für KI-Agenten, die es ihnen ermöglicht, anzurufen und zu texten. Sie ist REST + MCP, framework-agnostisch und hat einen OpenClaw-Skill.

OpenClawRadar
Solitaire: Open-Source Identitätsschicht für KI-Agenten, entwickelt mit Claude Code
Werkzeuge

Solitaire: Open-Source Identitätsschicht für KI-Agenten, entwickelt mit Claude Code

Solitaire ist eine Open-Source-Identitätsschicht für KI-Agenten, die sich durch Interaktion statt statischer Konfiguration entwickelt. Sie wurde in über 600 Produktionssitzungen getestet und speichert alle Daten lokal mit SQLite + JSONL ohne Cloud-Abhängigkeiten.

OpenClawRadar
Jan-Code-4B: Ein schlankes, code-optimiertes Modell für die lokale Entwicklung
Werkzeuge

Jan-Code-4B: Ein schlankes, code-optimiertes Modell für die lokale Entwicklung

Das Jan-Team veröffentlichte Jan-Code-4B, ein 4B-Parameter-Modell für Code, das auf Jan-v3-4B-base-instruct basiert. Es ist als direkter Ersatz für Haiku in Claude Code konzipiert und bietet verbesserte Unterstützung beim Programmieren, während es lokal läuft.

OpenClawRadar