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

Go 1.19, la dernière model du langage de programmation Go (Golang) de Google, est disponible en production. La mise à jour améliore les génériques récemment ajoutés et lance un modèle de mémoire amélioré.

Avec Go 1.19, publié le 2 août, le développement des génériques s’est concentré sur la résolution des problèmes subtils et des cas critiques signalés par la communauté ainsi que sur l’amélioration des performances (jusqu’à 20 % dans certains programmes génériques). Des fonctionnalités génériques longtemps recherchées ont été ajoutées au langage avec Go 1.18, qui a été publié en mars.

La Modèle de mémoire Goquant à lui, définit maintenant explicitement le comportement du paquet de synchronisation/atomique, fournissant des primitives de mémoire atomique de bas niveau pour implémenter des algorithmes de synchronisation. La définition formelle de la relation get there-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. Les programmes existants ne sont pas affectés. En moreover de la mise à jour du modèle de mémoire, il existe de nouveaux forms dans le package deal sync/atomic, tels que atomique.int64 et pointeur atomique (T)ce qui facilite l’utilisation des valeurs atomiques.

Go 1.19 peut être téléchargé à partir de aller.dev pour Home windows, macOS et Linux. Autres fonctionnalités de Go 1.19 :

  • Une limite de mémoire logicielle a été ajouté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 de l’implémentation incluent le dimensionnement dynamique des piles de coroutines pour réduire les droits d’auteur des piles, l’utilisation automatique de descripteurs de fichiers supplémentaires sur la plupart des systèmes Unix, les tables de saut pour les grandes instructions de commutateur sur x86-64 et ARM64, et la prise en cost des appels de fonction injectés par le débogueur sur ARM64.
  • UN petite rectification a été fait pour taper des paramètres dans les déclarations de méthode. Les programmes existants ne sont pas affectés.
  • Les commentaires de documentation prennent désormais en cost les liens, les listes et la syntaxe des en-têtes, pour aider les utilisateurs à rédiger des commentaires de documentation moreover clairs, en particulier dans les deals avec de grandes API.
  • Pour des raisons de sécurité, le bundle os/exec ne respecte moreover les chemins relatifs dans les recherches Route.
  • Une nouvelle contrainte de design, unixest satisfait lorsque le système d’exploitation ciblé est un système d’exploitation de type Unilx.

Copyright © 2022 IDG Communications, Inc.

Next Post

Participez à notre concours vidéo étudiant et présentez votre chemin vers TechCrunch Disrupt - TechCrunch

TechCrunch Disrupt est de retour, en personne du 18 au 20 octobre à San Francisco, et nous voulons rappeler aux étudiants universitaires et collégiaux qu’une minute peut changer la trajectoire de vos rêves de startup. Comment? La possibilité begin lorsque vous postulez au concours TechCrunch Pupil Pitch (propulsé par Blackstone […]

You May Like