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 1.1 accélère (en toute sécurité)

Go 1.1 accélère (en toute sécurité)

La version majeure 1.1 du langage Go nous livre plusieurs nouvelles fonctionnalités annoncées lors de sa période de bêta. Plusieurs développeurs vont s’apercevoir de ses avantages au moment où ils recompileront leur code, tandis que les autres fonctionnalités nécessiteront de nouvelles bibliothèques ou modèles pour être utilisées.

Performance

Pour ceux qui cherchent des informations détaillées sur les améliorations de performance, ils peuvent consulter le contributeur à Go, Dave Cheney, qui a réalisé une série d’articles qui détaillent exactement l’amélioration des performances de la version 1.1. Dans la première partie, Cheney a utilisé la plate-forme Linux/AMD64 pour ses mesures où la majorité des enregistrements de benchmarks a augmenté en vitesse pour la version 1.1. Il est intéressant de noter que les performances de Gzip et GobEncode ont légèrement régressé. Les benchmarks de Cheney pour les packages net/http montrent des améliorations à tous les niveaux. Il est à noter que les plates-formes Windows et FreeBSD ne seront aussi performantes qu'avec Linux qu'à partir de la version 1.2. D'autres articles de la série de Cheney détaillent les résultats obtenus pour i386 et ARM (y compris Raspberry Pi).

Dépasser la concurrence

L’ensemble des outils de Go vont bénéficier d’une grande nouveauté : le détecteur de concurrence, pour une utilisation lors du déboguage des erreurs de synchronisation de mémoire. Une condition de concurrence se produit dans un système multi-threadé lorsque deux ou plusieurs threads tentent simultanément de manipuler des structures de données. En examinant Go de près, « une situation de compétition se produit lorsque deux routines Go accèdent à la même variable en même temps et au moins un des accès est en mode écriture ». En raison de la nature des bugs, ceux-ci sont souvent difficiles à localiser et à corriger et ce nouvel outil vise à faciliter ce processus. Actuellement, le détecteur de concurrence est disponible pour les architectures x86 64-bit sous Windows, Linux et Mac OS X.

Utiliser Go

Les principales plates-formes prises en charge par Go sont FreeBSD, Linux, Mac OS X, Windows et NetBSD. Tous supportent les architectures i386 et AMD64 sous FreeBSD sachant que Linux supporte en plus l’architecture ARM. Les instructions pour l'installation de Go et les téléchargements directs sont disponibles sur golang.org. (Notez que la version actuelle de Go est la 1.1.1 qui comprend des corrections de bugs mineurs par rapport à la version majeure 1.1)

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT