BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités Go continue de progresser avec la sortie de Go 1.2

Go continue de progresser avec la sortie de Go 1.2

Le langage de programmation open-source Go vient de sortir en version 1.2, qui apporte une combinaison de révisions dans le langage, des outils améliorés et des changements dans la librairie standard. Go trouve ses racines dans un projet de recherche mené chez Google mais est aujourd'hui utilisé en environnements de production dans différentes entreprises et projets. Cette nouvelle version est signe de progrès constants dans l'évolution du langage, car elle survient environ 7 mois après la sortie de la version 1.1 en mai.

Dans cette version 1.2, les deux changements majeurs dans le langage concernent nil et slices. Pour nil, une exception est garantie d'arriver dans certaines situations alors que les versions précédentes de Go permettaient un accès non sécurisé à la mémoire. Un nouvel ajout aux slices signifie que la capacité d'un slice peut être spécifiée tout comme sa taille. Aucun changement dans le code existant n’est nécessaire, mais le changement de comportement de nil signifie que Go 1.2 peut ne pas détecter du code erroné qui devra être corrigé manuellement.

L'ordonnancer des goroutines a maintenant une capacité de préemption dans une tentative pour atténuer la situation où une goroutine est capable d'affamer les autres goroutines s'exécutant sur le même thread. La taille minimale de la pile pour une goroutine a été augmentée à 8KB et la taille maximale est maintenant configurable. La valeur par défaut sur un système 64 bits est 1GB et, sur un système 32 bits, 250MB.

Les utilisateurs de Go sur Windows et BSD seront heureux de constater que les performances réseau gagnent dans la version 1.2 ce que les utilisateurs Linux et Mac OS X ont eu lors de Go 1.1. Selon l'équipe de développement, ces changements augmentent les performances de 30%. Tous les utilisateurs de la 1.2 devraient constater des gains de performance avec l'implémentation de la décompression de bzip2 et l'encodeur JSON.

La liste complète des changements peut être consultée sur la Release Notes 1.2.

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT