Programmiersprache: Das ändert sich in Go 1.20

Am 1. Februar ist Go in der Version 1.20 erschienen. Wir geben eine Übersicht über die wichtigsten Neuerungen.

Artikel von Tim Scheuermann veröffentlicht am  (aktualisiert am )
Go 1.20 ist veröffentlicht
Go 1.20 ist veröffentlicht (Bild: Martin Wolf / Golem.de)

Das Go-Team hält den selbst gesetzten Zeitplan mit halbjährlichen Releases ein und hat den Release Candidate 3 für Go 1.20 veröffentlicht. Bis zum geplanten Release im Februar sind noch ein paar Tage Zeit, um sich die Änderungsliste anzusehen. Wir informieren über die interessantesten Neuerungen.

Unterstützung für Profile Guided Optimization

Inhalt:
  1. Programmiersprache: Das ändert sich in Go 1.20
  2. Laufzeit-Überprüfung von comparable Constraints
  3. Kleine Änderungen

Der Go-Compiler unterstützt jetzt Profile Guided Optimization (PGO). Diese ist besonders für Server- und andere langlaufende Projekte interessant. Wird dem Compiler ein pprof-CPU-Profil zur Verfügung gestellt, werden die Stellen des Codes besonders gut optimiert, die häufig genutzt werden. Das Go-Team erwartet je nach Projekt eine um 3 bis 4 Prozent bessere Performance. Das mag zunächst bescheiden klingen, allerdings gibt es die Optimierung quasi gratis, wenn zur Performancemessung sowieso CPU-Profile angelegt werden.

Um ein Profil zu erstellen, wird das Programm entweder direkt über pprof gestartet oder bei einem langlaufenden Server per net/http/pprof-Paket eingebunden. Letztgenannte Methode bietet sich an, um Server zu überwachen. Der Profiler ist nur aktiv, wenn ein Client die Daten abfragt. Die entsprechende HTTP-Route sollte jedoch abgesichert werden und nicht im Internet abrufbar sein.

Beispiel für das direkte Anlegen eines CPU-Profils:

  1. import "runtime/pprof"
  2. [...]
  3. profile, err := os.Create("profile.pgo")
  4. if err != nil {
  5. log.Fatalln(err)
  6. }
  7. defer profile.Close()
  8. if err := pprof.StartCPUProfile(profile); err != nil {
  9. log.Fatalln(err)
  10. }
  11. defer pprof.StopCPUProfile()

Anschließend lässt sich das Profil mit dem -pgo flag zur Optimierung verwenden: go build . -pgo="profile.pgo"

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
Laufzeit-Überprüfung von comparable Constraints 
  1. 1
  2. 2
  3. 3
  4.  


Aktuell auf der Startseite von Golem.de
Morris Chang
TSMC-Gründer erklärt Globalisierung im Chipsektor für tot

Der ehemalige CEO des Halbleiterproduzenten TSMC geht davon aus, dass die Preise dadurch steigen werden. Taiwan steht vor einem Dilemma.

Morris Chang: TSMC-Gründer erklärt Globalisierung im Chipsektor für tot
Artikel
  1. Treibstoffe: Die Suche nach dem E-Fuels-Phantom
    Treibstoffe
    Die Suche nach dem E-Fuels-Phantom

    Ein CDU-Politiker denkt, dass in Nachbarländern E-Fuels getankt werden können und ein Öllobbyist glaubt, dass E-Fuels-Fabriken weltweit im Industriemaßstab gebaut werden. Nichts davon stimmt.
    Eine Analyse von Hanno Böck

  2. Amazon: Statt bei HBO wird neue Batman-Serie bei Prime Video laufen
    Amazon
    Statt bei HBO wird neue Batman-Serie bei Prime Video laufen

    Amazon hat sich die Rechte an der Animationsserie Batman: Caped Crusader gesichert und will mindestens zwei Staffeln bei Prime Video zeigen.

  3. Zeichentrick-Serie: Southpark-Folge teilweise mit ChatGPT geschrieben
    Zeichentrick-Serie
    Southpark-Folge teilweise mit ChatGPT geschrieben

    In der neuesten Folge von South Park haben sich die Schöpfer der Serie mit ChatGPT beschäftigt und den Chatbot genutzt, um Teile der Episode zu erstellen.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    • Daily Deals • Amazon Coupon-Party • MindStar: MSI RTX 4080 -100€ • Neue RAM-Tiefstpreise • Sandisk MicroSDXC 256GB -69% • Neue Wochendeals bei Media Markt • Bosch Professional-Rabatte • Otto Oster-Angebote • 38-GB-Allnet-Flat 12,99€/Monat • Meta Quest Pro 1.199€ • [Werbung]
    •  /