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.

4 Responses to “Benchmark langages de programmation”

  1. Isaac Gouy - juin 14th, 2007

    fannkuch 1 à 200
    nbody 1 à 159
    recursive 1 à 348
    spectral-norm 1 à 110

    http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=gcc&lang2=php

  2. Corinne - octobre 15th, 2007

    Très étonné que ASP.NET ne soit pas comparé au PHP et à Ruby ( excepté Mono qui est un peu à part ).
    En effet, il y aurait fort à parier que celui-ci exploserait le benchmark … dans le mauvais sens !

  3. ben - octobre 15th, 2007

    Bonjour,

    Ces benchmarks tourne sous Débian.
    Donc seul les langages fonctionnant sous linux ont pu être testés.
    Je serais également très curieux des résultats d’un benchmark php vs asp ;-)

  4. Benjamin Fabre : Benchmark C++ vs Java 6 - octobre 16th, 2007

    [...] un premier benchmark sur l’ensemble des langages de programmation moderne présent sous linux sous linux, voici un focus sur l’éternel combat entre la [...]

Leave a Reply