Compiler: Rust-Entwicklern ist LLVM zu langsam

Seit einigen Wochen gibt es verschiedene Hinweise darauf, dass sich mit der aktuellen Version 10 des Compiler-Projekts LLVM die Zeit zum Kompilieren von Rust deutlich verschlechtert hat. Der bei den Open-Source-Spezialisten von Red Hat angestellte Entwickler Josh Stone hat dies nun erneut auf der LLVM-Mailing-Liste detailliert dargestellt(öffnet im neuen Fenster) .
Den Untersuchungen von Stone zufolge verschlechtere sich die Leistung zwischen LLVM 9 und LLVM 10 um rund fünf Prozent und zwischen der aktuellen stabilen Version 10 sowie dem aktuellen Entwicklungszweig um weitere rund fünf Prozent. Aus einem von der Rust-Community gepflegten Performance-Dashboard ergeben sich je nach kompiliertem Projekt ähnlich starke Verschlechterungen, die bei zehn Prozent oder mehr liegen können.
Der Gründer des LLVM-Projekts Chris Lattner dankt in einer E-Mail(öffnet im neuen Fenster) im Namen der Community den Rust-Entwicklern für ihre systematischen Arbeiten, vor allem für ihren Einsatz dafür, "dass die Leistung der LLVM-Kompilierungszeit im Laufe der Zeit akzeptabel bleibt." Die an den Tag gelegte Sorgfalt der Rust-Entwickler sei "unglaublich wertvoll" für die Arbeiten an LLVM.
Unter Bezugnahme auf die Diskussionen und Arbeiten der Rust-Entwickler beschreibt der Entwickler Nikita Popov in seinem Blog(öffnet im neuen Fenster) eine Vielzahl möglicher kleinerer Leistungsverbesserungen für LLVM. Popov arbeitet bei Jetbrains, das eine Vielzahl verschiedener Entwicklerwerkzeuge herstellt.
Popov führt das Grundproblem darauf zurück, dass LLVM die Verschlechterung der Kompilierungszeit nicht systematisch erfasst. In Anlehnung an den Performance-Tracker von Rust hat Popov ein ähnliches Projekt für LLVM selbst erstellt, das nun den Einfluss bestimmter Code-Beiträge auf die Kompilierungszeit überprüft. Popov verweist auf die damit bereits gefundenen größeren Leistungseinbußen, die als Fehler behandelt und behoben wurden, und hofft auf eine positive Entwicklung für das kommende LLVM 11.



