Google optimise la compilation de son langage Go avec la version 1.7

Binaires plus rapides et légers à la clé
Logiciel 1 min
Google optimise la compilation de son langage Go avec la version 1.7
Crédits : DeanDrobot/iStock

Google propose depuis peu la version 1.7 de son langage de développement Go. Au programme, des améliorations sur la compilation, notamment sur l’utilisation du processeur.

Six mois après la version 1.6, la nouvelle mouture 1.7 du langage Go est disponible. Elle est surtout synonyme d’améliorations pour la chaine d’outils. Google a entrepris de vastes travaux visant à convertir le compilateur lui-même en langage Go, une opération qui débute avec le back end. Il est désormais basé sur la forme SSA (Static single assignment), chaque variable n’étant donc affectée qu’une seule et unique fois.

Selon Google, les optimisations sont donc appliquées de manière beaucoup plus efficace, comme l’élimination des sous-expressions communes. Dans l’ensemble, le gain de performances irait de 5 à 35 % selon les opérations d’après les tests réalisés par l’éditeur. En outre, le code produit est annoncé comme plus compact. Pour l’instant, ces changements ne sont exploitables que sur architecture x86_64, même si les autres seront ajoutées par la suite.

Ces améliorations se combinent à un nouveau format d’exportation, lui aussi plus compact. Google indique dans son annonce que les binaires qui en résultent seront plus légers de 20 à 30 %, soit un gain significatif. Les programmes ainsi compilés devraient outre être plus rapides, grâce à des optimisations dans la bibliothèque standard et dans le ramasse-miettes. Ce devrait être particulièrement le cas pour les programmes ayant de nombreuses goroutines.

Outre un support ajouté pour macOS Sierra, on pourra consulter la liste complète des nouveautés depuis cette page. Go peut quant à lui se télécharger depuis son site officiel.

Vous n'avez pas encore de notification

Page d'accueil
Options d'affichage
Abonné
Actualités
Abonné
Des thèmes sont disponibles :
Thème de baseThème de baseThème sombreThème sombreThème yinyang clairThème yinyang clairThème yinyang sombreThème yinyang sombreThème orange mécanique clairThème orange mécanique clairThème orange mécanique sombreThème orange mécanique sombreThème rose clairThème rose clairThème rose sombreThème rose sombre

Vous n'êtes pas encore INpactien ?

Inscrivez-vous !