Programmiersprache: Googles Go 1.8 soll deutlich schneller kompilieren

Ein Statusreport des für Februar 2017 geplanten Releases von Googles Programmiersprache hebt die verbesserte Toolchain und dabei besonders eine um etwa 15 Prozent schneller Compilezeit hervor.

In Pocket speichern vorlesen Druckansicht 76 Kommentare lesen
Google Go 1.8 soll deutlich schneller kompilieren
Lesezeit: 2 Min.
Von
  • Rainald Menge-Sonnentag

Version 1.8 der von Google initiierten Programmiersprache Go soll im Februar 2017 fertig werden und dürfte sich demnächst dem Status "feature complete" nähern. Ein Blogbeitrag des aktiven Go-Contributors Dave Cheney widmet sich nun speziell der darin enthaltenen Toolchain. Im August 2015 hatten die Macher für Version 1.5 der Sprache die letzten C-Zöpfe abgeschnitten und die Werkzeuge komplett in Go umgesetzt. Der Preis dafür war ein deutlicher Performanceeinbruch beim Buildprozess.

Mit Blick auf kürzere Compilezeiten hat das Team einen neuen Parser geschrieben, der einen abstrakten Syntaxbaum verwendet. Da der restliche Compiler jedoch weiterhin den alten Syntaxbaum erwartet, muss das Tool den neuen in den alten transformieren. Trotz des Zwischenschritts ist der Parser wohl nicht langsamer als der in Version 1.7 verwendete Yacc-Parser (Yet another compiler compiler). Mit dem für Go 1.9 geplanten Wegfall der Transformation erwartet das Team einen weiteren Performancegewinn.

Google hatte mit Go 1.7 ein neues SSA-Backend (Static-Single-Assignment) für 64-Bit-x86-Systeme eingeführt. Für den Nachfolger existiert das gleiche Backend auch für die restlichen Architekturen. Übrigens wird Go 1.8 neben der im Vorgänger erstmals als Zielplattform eingeführten 64-Bit-MIPS-Architektur auch 32-Bit-MIPS unterstützen. Dafür können Entwickler auf die in Go 1.5 eingeführte Cross-Compiler-Funktion zurückgreifen, da das Kompilieren auf 32-MIPS-Systemen eine Herausforderung sein dürfte.

Compile-Zeiten unterschiedlicher Projekte mit Go 1.4.3, 1.4.7 un der aktuellen Entwicklungsversion.

(Bild: Dave Cheney)

Im Schnitt soll der neue Compiler etwa 15 Prozent schneller arbeiten als der Vorgänger. Trotz der deutlichen Beschleunigung benötigt er immer noch knapp die anderthalbfache Zeit des C-basierten Compilers von Go 1.4. Google stellte Go 2009 erstmals vor und positionierte es als Alternative zu C. Die Programmiersprache unterstützt Nebenläufigkeit und entstand vor allem mit Blick auf verteilte Cloud- und Serveranwendungen. Neben dem Einsatz beim Internetriesen selbst gehört vor allem Docker zu den Vorzeigeprojekten. (rme)