Il candidato alla versione Go 1.21 è uscito oggi ed è interessante sul fronte delle prestazioni oltre ad alcune aggiunte linguistiche come le funzioni min/max/clear oltre a migliorare ulteriormente la sua libreria standard.
La cosa più interessante della serie Go 1.21 è ora che il suo supporto PGO (Profile Guided Optimization) è ora disponibile a livello generale. Il comando go lo utilizzerà per abilitare una build PGO se è presente un file default.pgo nella directory del pacchetto principale. L’abilitazione di PGO su un’ampia gamma di programmi ha dimostrato di migliorare le prestazioni del 2~7%. PGO è ottimo quando è in grado di raccogliere tracce/profili accurati/realistici del carico di lavoro della tua applicazione e può essere molto vantaggioso per le prestazioni, come mostrato in numerose implementazioni del compilatore.
Anche lo stesso compilatore Go è stato ricostruito con PGO abilitato e mostra prestazioni di compilazione più veloci di circa il 2~4% per i programmi Go. La versione Go 1.21 mostra anche una riduzione fino al 40% della latenza di coda per alcune applicazioni grazie all’ottimizzazione del Garbage Collector.
Lo strumento go di Go 1.21 ora supporta anche la compatibilità delle lingue all’indietro e in avanti, funzioni min/max/clear, miglioramenti all’inferenza del tipo per funzioni generiche, varie aggiunte di librerie e un nuovo porting sperimentale per WebAssembly WASI.
Maggiori dettagli sull’entusiasmante Go 1.21 release candidate oggi tramite il blog del progetto su go.dev.