IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Une étude compare différents langages pour le calcul intensif
Le résultat va-t-il vous faire changer de langage ?

Le , par Davidbrcz

78PARTAGES

Une étude compare différents langages pour le calcul intensif
Le résultat va-t-il vous faire changer de langage ?


Une équipe universitaire a sorti une étude comparant différents langages pour le calcul intensif. L'étude se base sur un modèle économique mais peut être appliqué à d'autres domaines.

Ils ont comparé

  • C++11
  • Fortran 2008
  • Java
  • Julia
  • Python
  • MATLAB
  • Mathematica
  • R


Afin de na pas biaiser les résultats, ils n'ont en général pas cherché à tirer profit des particularités de chaque langage. L'étude ne commente pas la difficulté à porter l'algorithme dans un langage donné.

Les résultats principaux sont :

  • Le C++ et Fortran tiennent toujours les meilleures performances
  • L'avantage du C++ sur le Fortran n'est que de 5-7%
  • Julia avec son compilateur JIT donne un exécutable qui tourne en moyenne 2.7 fois plus lentement que le meilleur programme C++
  • L’implémentation Pypy donne un programme 44 fois plus lent que celui en C++. Quant a l’Interpréteur CPython, la facteur oscille entre 155 et 269
  • Utiliser Numba (un compilateur JIT Python) , demande de revoir un peu le code mais donne des performances très proches du C++ (1.6 plus lent en moyenne)
  • MATLAB est entre 9 et 11 fois plus lent que le C++. Mais combiné avec des fichiers Mex, la différence tombe entre 1.24 et 1.64
  • R est entre 500 et 700 fois plus lent que le C++. Compiler le code augmente par deux la performance
  • Mathematica donne de bonnes performances (4 fois lent que le C++) mais au prix d'un grand effort de ré-écriture de code pour tirer parti des optimisations du langage,


Les résultats détaillés sont ici et le code est accessible sur Github

Cette étude va-t-elle vous faire changer de langage pour vos applications lourdes en calcul ?

Une erreur dans cette actualité ? Signalez-nous-la !