8 points par xguru 2021-03-31 | 1 commentaires | Partager sur WhatsApp
  • Dans quel langage est-il le plus facile d’écrire du code efficace ?

  • Implémentation dans les trois langages d’un test d’appartenance via une recherche linéaire pour trouver une valeur souhaitée dans un jeu de données d’un million d’entiers, avec comparaison à une implémentation en C

Comparaison globale

  • Les performances de Julia sont proches de celles du C. En revanche, lors de l’écriture de code vectorisé similaire à R, il devient 3 fois plus lent

  • En ajoutant un JIT (Numba) à Python, les performances d’une implémentation basée sur des boucles deviennent comparables à celles de Julia

  • Avec Python, il faut bien choisir entre les listes natives et les tableaux NumPy, ainsi que le moment où utiliser Numba

  • R n’est pas le plus rapide, mais montre des résultats plus cohérents que Python. (Par rapport à l’implémentation la plus rapide, R est 24 fois plus lent, Python 343 fois plus lent, tandis que Julia reste à environ 3 fois.)

  • Le R natif est toujours plus rapide que le Python natif

  • S’il est impossible d’éviter les boucles en Python ou en R, les boucles basées sur les éléments sont plus efficaces que les boucles basées sur les indices

1 commentaires

 
dalinaum 2021-04-02

Le fait que Numba ne puisse être efficace qu’avec Numpy, les tableaux, les boucles, etc., et qu’il faille utiliser des décorateurs, ce qui alourdit le code, me semble être un défaut critique.

Rien qu’en y mélangeant Pandas, on se retrouve immédiatement avec des limites de performance.