IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Python Discussion :

Le module Psyco


Sujet :

Python

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 328
    Par défaut Le module Psyco
    Bonjour à tous,

    Je viens de découvrir avec joie le module psyco.

    Petite question pratique : la fonction...

    ... se met-elle à n'importe quel endroit de la page de mon code ?

    Faut-il placer cette fonction devant chaque fonction que je veux accélerer ou juste après le 'import psyco' en haut de ma page pour accélerer toutes les fonctions de mon programme ?

    Merci pour vos réponses

  2. #2
    Expert confirmé
    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 : 44
    Localisation : France, Saône et Loire (Bourgogne)

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

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Par défaut
    Si tu veux l'utiliser pour tout le module
    http://python.developpez.com/faq/?pa...misation#Psyco

    sinon, il faut regarder la doc pour l'utiliser que pour des fonctions particulières

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 328
    Par défaut
    Ok merci

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 45
    Par défaut
    Je fais un gros up.

    Au risque de poser une question stupide : Pourquoi est-ce que je n'ai pas de diminution du temps d'exécution en utilisant psyco ? J'ai essayé de faire un programme de test avec des boucles for , sur python 2.5.

  5. #5
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Sur des fonctions de calculs mathématiques, j'obtiens couramment un temps de calcul divisé par 15.

    Tu es sûr que tu as bien installé psyco? Tu es sous Windows ou sous Linux?

    Donne ton code d'essai que j'essaie chez moi.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 45
    Par défaut
    Windows. A noter que j'utilise des binaires de psyco non officiel car j'ai Python 2.5.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    import psyco; psyco.full()
     
    class Test():
        def __init__(self):
     
            num = 30000
            machin = 0
            for x in range(0,num) :
                for y in range(0,num) :
                    if machin > 0 :
                        machin += 1
     
    Test()
    Je pourrais utiliser un timer pour mesurer le temps mais il semble que psyco bousille celui ci (temps ne correspondant pas à "l'attente").

  7. #7
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Mesure faite avec time.clock():

    Sans psyco: 66.8420539838 sec.

    Avec psyco: 0.84836959303 sec.

    Rapport: temps d'exécution divisé par env. 80...

    Et ça ne te suffit pas?

    Peut-être devrais-tu télécharger et réinstaller un psyco plus récent. Moi aussi j'ai Python 2.5.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 45
    Par défaut
    Je n'ai aucune amélioration.

    J'utilise celui là : http://sourceforge.net/project/showf...group_id=41036

    Il installe des .py dans site_package , j'ai vérifiés qu'ils étaient utilisés lors du run.

  9. #9
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Et donc, comme tu as Windows, c'est psyco-1.6.win32-py25.exe.

    C'est celui-là que j'ai aussi.

    Pour l'essai, j'ai repris ton code et j'ai seulement ajouté le time.clock() comme cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    import time
    ...
    ...
    t=time.clock()
    Test()
    print time.clock()-t
    Et j'ai lancé le programme en console cmd (je me méfie d'idle pour ce genre d'essai).

    En faisant comme ça, tu obtiens quoi comme temps?

    Si tu obtiens uniquement le temps fort, c'est que psyco ne marche pas: désinstalle-le et réinstalle-le. Au cas où, tu devrais même le re-télécharger pour être (plus) sûr de son intégrité.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 45
    Par défaut
    j'ai réinstallé le contenu du site package , mais ça ne fais rien. Comment je le désinstalle "proprement" ? Car je n'ais supprimés ques des .py dans le dossier sans utiliser le remove_psyco.exe .

  11. #11
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Il faut désinstaller proprement comme on le fait sous Windows: menu démarrer -> panneau de configuration -> ajout-suppression de programme -> supprimer python-psyco...

    En espérant qu'il acceptera la désintallation alors que certains fichiers ont déjà été effacés.

    A la fin de cette désinstallation, mais à la fin seulement, tu peux supprimer le répertoire C:\Python25\Lib\site-packages\psyco s'il existe encore.

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 45
    Par défaut
    Je n'ai jamais eu la possibilité de le désinstaller via ajout/suppression (peut être que je ne l'avais pas vraiment installé au début) tant que je ne l'avais pas réinstallé. Donc là , j'ai essayé de réinstaller après avoir désinstallé.

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 45
    Par défaut
    Même sur un autre ordinateur j'ai le même problème , j'ai même essayé plusieurs versions de 2.5 ...

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 45
    Par défaut
    Tiens ça à l'air de marcher , après plusieurs test et modifs du script bizzare... C'est pas très stable. C'est normal qu'une fois que j'ai lancé le scipt en utilisant psyco , et que je vire son initialisation , j'ai le même temps ? Il n'est pas en processus.

  15. #15
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2005
    Messages : 73
    Par défaut
    Bonjour,

    Je voulais me tourner vers psyco aussi.

    Mais mon application est entièrement faite en wxpython. Est-ce que je gagnerais qqch ?

    Car la partie calcul est pas très lourde c'est surtout l'interface graphique. Le calcul plus lourd viendra peut tre par la suite.

    Mais là pour de l'optimisation sur GUI ça marche ou pas ?

    Merci.

  16. #16
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 264
    Par défaut
    Non pas vraiment, puisque wxPython n'est qu'une fine couche de python qui appelle le code C++ de wxWidgets (qui lui même appelle les fonctions natives de l'interface graphique de ton OS).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Module FTP.pm ?
    Par MSP dans le forum Modules
    Réponses: 4
    Dernier message: 04/08/2003, 15h49
  2. module Find
    Par martijan dans le forum Modules
    Réponses: 8
    Dernier message: 09/07/2003, 11h07
  3. cherche module ou langage pour récupérer des données audio..
    Par Ry_Yo dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 12/05/2003, 17h44
  4. PerlDoc sur une fonction d'un module
    Par lesouriciergris dans le forum Modules
    Réponses: 2
    Dernier message: 13/03/2003, 20h50

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