Suche
Die neuen Features von Googles C-Alternative

Go 1.6 mit HTTP/2-Support

Michael Thomas

© Shutterstock.com/phloxii

Rund ein halbes Jahr nach Release der Vorgängerversion 1.5 ist mit Go 1.6 ein Update für Googles quelloffene C-Alternative Go erschienen. Version 1.6 bringt eine Reihe Neuerungen mit sich, von denen die wichtigste wohl die Unterstützung von HTTP/2 im net/http-Package ist.

Der Support von HTTP/2 ist dabei für Go-Server und -Clients, die HTTPS nutzen, ab sofort standardmäßig aktiviert. Diese Neuerungen wird von Google-Mitarbeiter und Go-Entwickler Andrew Gerrand in der offiziellen Ankündigung denn auch als „bedeutendste Änderung des Release“ bezeichnet, führt sie doch dazu, dass Go-basierte Projekte wie beispielsweise der Webserver Caddy künftig von den Vorteilen des neuen Protokolls profitieren können.

Des Weiteren wurde – wie vor einigen Monaten in einem von den Go-Entwickler Austin Clements und Rick Hudson verfassten Planungspapier angekündigt – der bereits mit Version 1.5 gründlich überarbeitete Garbage Collector weiter verbessert. Dieser soll demnach, insbesondere im Hinblick auf große Programme, noch geringere Pausenzeiten aufweisen als zuvor. Gerrand unterstreicht jedoch ausdrücklich, dass der aufgebohrte GC nicht zwangsläufig zu einer besseren Performance führt: „[…] die Änderungen sind so genereller und vielfältiger Natur, dass präzise Angaben zur Performance nur schwer zu machen sind. Einige Programme können schneller laufen, andere langsamer.“ Insgesamt soll sich die Performance der mithilfe von Go 1.6 erstellten Programme ungefähr auf dem Niveau von Go-1.5-Programmen bewegen.

Weitere wichtige Änderungen haben sich bei den Regeln für das Teilen von Pointern zwischen Go- und C-Code ergeben. Diese sollen sicherstellen, dass C-Code und Gos Garbage Collection koexistieren können. Da sie während der Ausführung von Programmen überprüft werden, müssen, um Abstürze auszuschließen, eventuell Codeänderungen vorgenommen werden. Entsprechende Informationen sind der Dokumentation zu entnehmen.

Last but not least ist die mit Version 1.5 noch als experimentelles Feature eingeführte, per Umgebungsvariable gesteuerte Unterstützung für Vendor-Verzeichnisse nun standardmäßig aktiviert; des Weiteren stehen mit Version 1.6 experimentelle Ports für 64-Bit MIPS (Linux) und die Android-Plattform (32-Bit x86-Prozessoren) zur Verfügung.

Eine ausführliche Übersicht über sämtliche Neuerungen der aktuellen Go-Version findet sich in den offiziellen Release Notes.

Aufmacherbild: Let’s go, a cloud message on sky von Shutterstock / Urheberrecht: phloxii

Verwandte Themen:

Geschrieben von
Michael Thomas
Michael Thomas
Michael Thomas studierte Erziehungswissenschaft an der Johannes Gutenberg-Universität Mainz und arbeitet seit 2013 als Freelance-Autor bei JAXenter.de. Kontakt: mthomas[at]sandsmedia.com
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.