C++ vs Go : Google revient sur son classement des langages

Un ingénieur de Google a publié début mai un classement qui ne montrait pas le langage maison du moteur sous son meilleur jour. Des résultats que dénonce l'équipe en charge du Go.

Dans un comparatif publié début mai, Robert Hundt, ingénieur chez Google, a analysé les performance d'exécution de C++, Java, Scala ainsi que Go, le langage maison du moteur recherche. Dans cette optique, il a implémenté un algorithme faisant appel aux spécificités de chacun des langages (classes, structures, systèmes d'allocation de mémoire). Ses conclusions ? C++ offrirait le meilleur niveau de performance d'exécution (lire l'article du 07/06/2011 : C++ : l'un des langages qui nécessite le plus d'optimisation).

L'équipe de Google en charge de développement autour de Go est repassée derrière Robert Hundt, arguant que l'implémentation de l'algorithme avait été mal mise en œuvre pour le langage. Elle a donc amélioré le code de test (du Go, mais aussi du C++ selon la même logique). Au final, les résultats obtenus sont assez différents : le programme de test du Go obtient un ratio de consommation de mémoire aussi performant que celui du C++ (1/6). Un exercice qui a le mérite de montrer que les comparatifs de performance ne sont pas une science exacte. (lire l'astuce sur C/C++ : Comment afficher les nombres de 1 à 1000 en C ou C++ sans boucle ni structure conditionnelle ?)

Lire la restitution de l'équipe de Google en charge du Go