Go 1.19

Par:
fredericmazue

jeu, 01/09/2022 - 13:16

Début août, Google a publié Go 1.19. En mars dernier Google avait publié Go 1.18, dont la caractéristique principale est le support de la programmation générique. Pour cette version 1.19, Google dit avoir concentré le développement des génériques de Go 1.19 sur la résolution des problèmes subtils et des cas particuliers signalés par la communauté.

Le modèle mémoire de Go a été revisité pour cette version. Le nouvel modèle définit désormais explicitement le comportement du package sync/atomic. La définition formelle de la relation arrive-avant a été révisée pour s'aligner sur les modèles de mémoire utilisés par C, C++, Java, JavaScript, Rust et Swift. Google assure que les programmes existants ne sont pas affectés.

Enfin, Google souligne que Enfin, Go 1.19 inclut une grande variété d'améliorations de performances et d'implémentation, dont le dimensionnement dynamique des piles de goroutines initiales pour réduire la copie de pile, l'utilisation automatique de descripteurs de fichiers supplémentaires sur la plupart des systèmes Unix, des tables de saut pour les grandes déclarations de commutateur sur x86-64 et ARM64, etc. En ce qui concerne les performances, Google évoque des gains de 20% pour certains programmes génériques, sans donner plus de précisions.