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.

Posted on mai 29, 2007 at 15:33 by ben · Permalink
In: Dev · Tagged with: , , , , , , , , , , ,

4 Responses

Subscribe to comments via RSS

  1. Written by Isaac Gouy
    on 14 juin 2007 at 6:34
    Permalink

    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. Written by Corinne
    on 15 octobre 2007 at 9:38
    Permalink

    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. Written by ben
    on 15 octobre 2007 at 10:51
    Permalink

    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. Written by Benjamin Fabre : Benchmark C++ vs Java 6
    on 16 octobre 2007 at 21:59
    Permalink

    [...] 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 [...]

Subscribe to comments via RSS

Leave a Reply