Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    janvier 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2007
    Messages : 88
    Points : 48
    Points
    48

    Par défaut Les performances de python

    Bonjour,

    Je me pose la question des performances de python (en terme de rapidité d'exécution).
    J'ai lu que python était écrit en langage C ce qui doit lui permettre d'atteindre de bonne performance.

    Je voulais savoir si quelqu'un s'est déjà amusé a comparer la vitesse d'un code python face à d'autres langages ?
    L'exemple de base, serait par exemple la manipulation de list (tri, accès, création, ...)

  2. #2
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2002
    Messages : 1 864
    Points : 10 055
    Points
    10 055

    Par défaut

    il existe des benchmarks ( http://shootout.alioth.debian.org/ par exemple) qui compare différents langages avec certains code.
    Il faut faire tout de même attention aux résultats parce que parfois les codes sources proposées auraient pu être optimisées et ne sont pas forcément pertinents. Pour Python, par rapport à un code C, ca peut aller jusqu'à 100 fois plus lentement.

    Après le programmeur Python doit être capable de lui-même optimiser tout son code (notamment pour tout ce qui est boucle (for, while)) alors que pour un programmeur C, il peut s'appuyer sur l'efficacité d'un compilateur.

    Ensuite, il existe des tonnes de bibliothèques (la plupart écrite en C ou C++) qui permettent déjà de ne pas avoir à tout réécrire et d'obtenir des performances très bonnes.
    Il y a toujours aussi les Api C, la possibilité d'utiliser du code C ou C++ avec swig ou Boost Python, pour gagner en performance.
    Enfin, avec psyco, en 2 lignes, on peut forcer une compilation dynamique et espérer des gains en rapidité par 3 ou 4.

    En gros, plus dans ton code, tu programmes en pur Python (sans utiliser les éléments précédents), plus ton code sera lent.


    Pour les listes, j'avais implanté quelques algo de tri en Python et testé leur temp d'exécution. Si tu veux t'amuser à faire la même chose en C et comparer ( http://guigui.developpez.com/sources/TriPython/ )

Discussions similaires

  1. Optimiser les performances try/catch ?
    Par KiLVaiDeN dans le forum Langage
    Réponses: 4
    Dernier message: 14/01/2014, 14h47
  2. Réponses: 0
    Dernier message: 08/06/2011, 23h57
  3. Que faire lorsque les performances d'une base chute ?
    Par Doctor Z dans le forum Oracle
    Réponses: 11
    Dernier message: 16/02/2005, 15h38
  4. Le calcul des stats dégrade les performances
    Par jo007 dans le forum Oracle
    Réponses: 18
    Dernier message: 15/02/2005, 10h42
  5. Petite question sur les performances de Postgres ...
    Par cb44 dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 13/01/2004, 14h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo