Benchmark langages de programmation

Dans le choix d’un langage de programmation, de nombreux éléments entrent en compte : rapidité de développement, portabilité, modèle de stockage de données…
Pour le développement des projets en cours au sein de ma société, l’un des critères les plus important est sans doute le temps d’exécution et la consommation de ressource processeur et mémoire.
Certains robots (comme celui de Wasalive) exécutent en effets une vingtaine de threads en parallèles sur plusieurs serveurs et la moindre lourdeur peut plomber les performances.

C’est pourquoi j’entame aujourd’hui une série de benchmark sur le « coût machine » des principaux langages de programmation.

Pour cela, je vais m’appuyer sur les tests réalisés par « The Computer Language Benchmarks Game » hébergé par le site officiel de la très sérieuse distribution linux Debian.

Ce site nous propose les consommations en temps processeur et en mémoire pour l’exécution d’une dizaine de fonction de référence (nsieve, n-body, sum-file) écrite dans chacun des langages.

Afin d’avoir une première vision globale (et grossière) de la consommation des principaux langages de programmation, je vous présente un indice qui correspond à la somme de chacunes des fonctions benchmarkées en pondérant la consommation de cpu*3 et mémoire*1.

Je ferais dans des prochains billets des focus sur certaines familles de langages et sur des fonctions plus spécifiques (langage interprété, langage compilé, programmation orienté web…).

Benchmark langages

Language Indice
gcc
1.0
Pascal Free Pascal
1.2
C++ g++
1.2
Ada 95 GNAT
1.9
Fortran Intel
2.4
C# Mono
4.0
Java JDK -server
4.3
Python
18.0
Perl
21.0
PHP
38.0
Ruby
38.0
JavaScript SpiderMonkey
74.0

Premier constat rapide : si on exclu le Javascript qui est un peu à part, le rapport du « coût machine » entre les deux extrêmes le C et le PHP va de 1 à 40. Il est interessant de mettre donc en perspective ce rapport avec les différences de coût de développement entre les langages.

Ruby on Rail vs JAVA vs PHP

Des passionnés de Ruby on Rail (RoR) imite le style des vidéos « Mac vs PC » pour la promotion de ce langage très en vogue !

Première vidéo : RoR vs JAVA

Seconde vidéo : RoR vs PHP

Parmi les arguments mis en avant par l’équipe de RoR : simplicité de mise en place (face à la lourdeur de java), indépendance des bases de données grace à des drivers sql, rapidité de codage…

Découvrez d’autres vidéos de promotion de Ruby on Rail sur le site Rails Envy ainsi que le très « markété » site officiel.