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 :

Psyco.bind(Méthode), où le placer ?


Sujet :

Python

  1. #1
    Membre éclairé
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Points : 773
    Points
    773
    Par défaut Psyco.bind(Méthode), où le placer ?
    Salut tout l'monde,

    Voilà, je commence à m'interesser au module psyco, et j'y ai remarqué la fonction bind(func), qui permet de demander à psyco de faire une compilation de la fonction ou méthode... Cela pourrait s'averer très utile pour un de mes projets, seulement je voudrais l'utiliser sur une méthode, et là je ne sais pas trop si il est mieux de placer l'appel à la fonction bind depuis la méthode __init__ de la classe contenant la méthode visée, ce qui marche, mais m'amène à me poser la question de savoir si la compilation n'aura pas lieu à que fois que j'instancierais la fameuse classe, ce qui serait un peu lourd... et pourrait bouffer de la mémoire inutilement...

    Sinon, autre endroit que j'ai pensé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    import psyco
    class Dummy(object):
        def methode_a_compil(self): pass
     
    psyco.bind(Dummy().methode_a_compil)
    Et la question qui va avec ce cas de figure est la suivante: Est-ce que seule la méthode de l'instance sera affectée, ou est-ce que les methode_a_compil d'autres instances pourront bénéficer des bienfaits de psyco ?

    Ou bien faudra-t-il que je passe par une métaclasse (relou quand même, j'éspère ne pas avoir à en arriver là...) ?

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 941
    Points : 1 384
    Points
    1 384
    Par défaut
    Bonjour,

    En testant, ce que tu fais fonctionne: la méthode est bien compilée pour toutes les instances de la classe. Toutefois, pour plus de clarté, je préfère l'une des deux solutions suivantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    import psyco
    class Dummy(object):
        def methode_a_compil(self): pass
     
    psyco.bind(Dummy.methode_a_compil)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    import psyco
    class Dummy(object):
        def methode_a_compil(self): pass
     
        psyco.bind(methode_a_compil)

  3. #3
    Membre éclairé
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Points : 773
    Points
    773
    Par défaut
    Ok, merci Dividee , j'opte pour celle-ci alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    import psyco
    class Dummy(object):
        def methode_a_compil(self): pass
     
    psyco.bind(Dummy.methode_a_compil)

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

Discussions similaires

  1. bind méthode template
    Par Lintel-oo dans le forum Langage
    Réponses: 9
    Dernier message: 27/10/2012, 18h56
  2. placer une méthode dans une classe
    Par totoche dans le forum UML
    Réponses: 8
    Dernier message: 29/05/2008, 18h04
  3. Où placer une méthode rechercher ?
    Par Invité dans le forum Langage
    Réponses: 15
    Dernier message: 30/04/2008, 17h09
  4. Réponses: 4
    Dernier message: 11/04/2007, 12h15
  5. Méthode Bind sur quoi
    Par frouty dans le forum wxPython
    Réponses: 4
    Dernier message: 18/11/2006, 01h24

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