mardi, 9 août 2022

Go 1.19 améliore les génériques et le modèle de mémoire

Crédit : Dreamstime

Go 1.19, la dernière version des programmes Go (Golang) de langue, a effectivement atteint la disponibilité de la production. La mise à jour améliore les génériques récemment ajoutés et lance un modèle de mémoire boosté.

Avec Go 1.19, lancé le 2 août, l’avancement des génériques s’est concentré sur le traitement des problèmes subtils et des cas critiques signalés par le voisinage, ainsi que sur les améliorations de performances (comme jusqu’à 20 % dans certains programmes génériques). Des capacités génériques longtemps recherchées ont été ajoutées au langage avec Go 1.18, qui a été lancé en mars.

Le modèle de mémoire Go, quant à lui, définit désormais explicitement le comportement du bundle sync/atomique, offrant un bas niveau primitives de mémoire atomique pour implémenter des algorithmes de synchronisation.

La définition formelle de la relation arrive-avant a en fait été révisée pour s’aligner sur les modèles de mémoire utilisés par C , C, Java, JavaScript, Rust et Swift. Les programmes existants ne sont pas affectés. En plus de la mise à jour du modèle de mémoire, il existe de toutes nouvelles entrées dans le bundle sync/atomic, telles que atomic.int64 et atomic.Pointer(T), ce qui facilite grandement l’utilisation des valeurs atomiques.

Aller 1.19 peut être téléchargé à partir de go.dev pour Windows, macOS et Linux.

D’autres fonctions de Go 1.19 consistent en une limite de mémoire souple qui a en fait été contribuée au ramasse-miettes. La limite peut être utile pour optimiser les programmes Go afin qu’ils s’exécutent aussi efficacement que possible dans des conteneurs avec des quantités de mémoire dédiées.

Les améliorations des performances et des applications incluent le dimensionnement dynamique des piles de coroutines pour minimiser les droits d’auteur des piles, l’utilisation automatisée de fichiers supplémentaires descripteurs sur de nombreux systèmes Unix, tables de plongée pour les grandes déclarations de commutateur sur x86-64 et ARM64, et prise en charge des appels de fonction injectés par le débogueur sur ARM64.

Plongée beaucoup plus profondément, une petite correction a été apportée au type les spécifications dans les déclarations d’approche (les programmes existants ne sont pas modifiés) et les commentaires de documentation prennent désormais en charge les liens, les listes et la syntaxe des en-têtes, pour aider les utilisateurs à rédiger des remarques de documentation plus claires, en particulier dans les bundles avec de grandes API.

Pour la sécurité, l’os /exec plan n’apprécie plus les chemins relatifs dans les recherches de cours et une nouvelle contrainte de développement, unix, est satisfaite lorsque le système d’exploitation ciblé est un système d’exploitation de type Unilx.

Toute l’actualité en temps réel, est sur L’Entrepreneur

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici