BT

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

| par Jeff Martin Suivre 16 Abonnés , traduit par Slim Ouertani Suivre 6 Abonnés le 18 sept. 2013. Durée de lecture estimée: 2 minutes |

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

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Se connecter à InfoQ pour interagir sur ce qui vous importe le plus.


Récupérer votre mot de passe

Follow

Suivre vos sujets et éditeurs favoris

Bref aperçu des points saillants de l'industrie et sur le site.

Like

More signal, less noise

Créez votre propre flux en choisissant les sujets que vous souhaitez lire et les éditeurs dont vous désirez suivre les nouvelles.

Notifications

Restez à jour

Paramétrez vos notifications et ne ratez pas le contenu qui vous importe

BT