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

Langage PHP Discussion :

__autoload() et performances ?


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 144
    Points : 127
    Points
    127
    Par défaut __autoload() et performances ?
    Bonsoir à tous,

    Question : est-ce que l'utilisation de l'__autoload() est judicieuse ?

    Avantage : n'inclut que les classes nécessires.
    Inconvénient : on rajoute chaque fois des étapes avant l'inclusion des fichiers.

    Bref, qu'en penser ?

    Merci,
    Evocatii

  2. #2
    Inscrit

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Points : 909
    Points
    909
    Par défaut
    Je suppose que dans 99% des applications en PHP, c'est le dernier endroit ou il est judicieux de chercher l'opimisation, a l'inverse du code de vos classes par exemple.

    Effectivement, il est judicieux d'utiliser une fonction dans __autoload qui permet de charger toutes les classes d'un coup, le jour ou l'on decide que __autoload ralentie trop l'application.

    Pour profiler l'application, on peut utiliser xdebug et kcachegrind.

    http://php.developpez.com/faq/?page=xdebug
    YourLabs Business Service: Conseil en Strategie Numerique / Club de 1337 Haxors depuis 2012 / Marque de Logiciels Libres / Blog / GitHub /
    Citation Envoyé par C.A.R. Hoare, The 1980 ACM Turing Award Lecture
    There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.”
    More great quotes - RIP Uriel

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 23
    Points : 23
    Points
    23
    Par défaut
    A vérifier, mais il me semble que __autoload est abandonné dans la version 6 de PHP.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 144
    Points : 127
    Points
    127
    Par défaut
    Bonjour,

    Citation Envoyé par is_null Voir le message
    Je suppose que dans 99% des applications en PHP, c'est le dernier endroit ou il est judicieux de chercher l'opimisation, a l'inverse du code de vos classes par exemple.

    Effectivement, il est judicieux d'utiliser une fonction dans __autoload qui permet de charger toutes les classes d'un coup, le jour ou l'on decide que __autoload ralentie trop l'application.

    Pour profiler l'application, on peut utiliser xdebug et kcachegrind.

    http://php.developpez.com/faq/?page=xdebug
    Je ne cherche pas à optimiser une application, mais c'est simplement parce que je trouve la question intéressante.

    Par exemple, imaginons un framework intégrant plusieurs milliers de fichiers. Est-ce bien raisonnable de les inclure tous à chaque appel ? Alors qu’un autoload aurait pu sélectionner automatiquement que le nécessaire. (Il peut être laborieux de gérer les inclusions manuellement.)

    http://blog.developpez.com/index.php...&c=1&tb=1&pb=1

    Citation Envoyé par Dlteck2000 Voir le message
    A vérifier, mais il me semble que __autoload est abandonné dans la version 6 de PHP.
    Ah d'accord merci de l'info. Vais essayer d'en savoir plus.

  5. #5
    Inscrit

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Points : 909
    Points
    909
    Par défaut
    A vérifier, mais il me semble que __autoload est abandonné dans la version 6 de PHP.
    Non, a l'instant de ce post, rien n'est prevu de changer pour __autoload().

    Par exemple, imaginons un framework intégrant plusieurs milliers de fichiers. Est-ce bien raisonnable de les inclure tous à chaque appel ? Alors qu’un autoload aurait pu sélectionner automatiquement que le nécessaire. (Il peut être laborieux de gérer les inclusions manuellement.)
    Disont que ce n'est pas judicieux pendant les phases de developpement, test et pre-production.
    Par contre, en phase de production, en combinaison avec XCache, ca peut etre interressant; et encore: __autoload() en soit, ne pose pas de problemes.

    D'ou ma certitude: le mieux est d'implementer un systeme d'autoload capable des deux.

    Personnellement, j'utilise le composant Base de eZ Components pour gerer mes chargements de classes, et les exceptions les plus courantes.
    YourLabs Business Service: Conseil en Strategie Numerique / Club de 1337 Haxors depuis 2012 / Marque de Logiciels Libres / Blog / GitHub /
    Citation Envoyé par C.A.R. Hoare, The 1980 ACM Turing Award Lecture
    There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.”
    More great quotes - RIP Uriel

Discussions similaires

  1. [maintenance][performance] Que faire comme maintenance ?
    Par woodwai dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 06/11/2003, 15h39
  2. Performance xml
    Par MicKCanE dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 07/07/2003, 06h41
  3. [ POSTGRESQL ] Problème de performance
    Par Djouls64 dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 26/05/2003, 16h18
  4. [JDBC][connexion persistante] performances avec JDBC
    Par nawac dans le forum Connexion aux bases de données
    Réponses: 6
    Dernier message: 06/05/2003, 10h37
  5. performance entre 3DS, ase, asc ...
    Par amaury pouly dans le forum OpenGL
    Réponses: 3
    Dernier message: 24/03/2003, 11h41

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