Voici les résultats d’un petit test comparatif entre 3 langages couramment utilisés. En ce qui concerne les configurations, nous avons :

  • Perl version v5.8.6 built for darwin-thread-multi-2level
  • Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-112)
  • gcc version 4.0.1 (Apple Computer, Inc. build 5367)

Pour les machines :

  • PowerMac G5 Bi-2Ghz, 2Go Ram OSX 10.4.8 (utilisé sans parallélisation)
  • PowerBook G4 1.5 Ghz, 1.5Go Ram OSX 10.4.8

Le premier test consiste à mesurer le temps mis par les différents langages pour afficher 1’000’000 de chiffres sur la sortie standard.

Le G5 est clairement plus rapide. Comme on pouvait s’y attendre, C++ est le plus rapide juste devant Perl. Java est spécialement mauvais sur ce test.

Passons maintenant au test sur les hash (ou tableaux associatifs). Dans ce test, on crée 6000 fois une hash des 1000 entrées remplies d’entiers.

Perl est très très lent… près de 34x plus lent que C++.

En ce qui concerne les entrées-sortiées (ici écriture de 6.6 Mo sur un fichier), Perl et Java sont à la traîne face à C++. De plus Java est moins performant sur G5 (ou alors très performant sur G4) :

Finalement le test des listes est très favorable au C++ et surtout sur G4. Perl se retrouve à nouveau dernier en étant 702x plus lent que C++ ! Dans ce test on crée une liste de 3000 positions dans chacunes desquelles on met une autre liste de 1000 positions replie d’entiers.

Conclusion : le G5 est en moyenne 1.67x plus rapide pour un rapport de fréquence de 1.33. Finalement le G5 est 1.25x plus rapide que le G4, à fréquences égales.