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 :

Performance fonction static


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 70
    Points
    70
    Par défaut Performance fonction static
    Bonjour à tous,

    je me pose une question sur les performances :

    je sais qu'une fonction static dans une classe est exécuté 4 fois plus rapidement qu'une fonction d'une class qui n'est pas static.

    Maintenant ma question: qu'est-ce qui est le mieux (en terme de performance) entre

    a) une fonction static qui est dans une classe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Class Personne
    {
    public static function MaFonction()
     {
       // blabla
     }
    }
    Personne::MaFonction();
    b) une fonction non static qui n'est pas dans une classe ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     function MaFonction()
     {
       // blabla
     }
    MaFonction();

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    la réponse est dans ton sujet non ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 70
    Points
    70
    Par défaut
    non justement, car je prend d'abord l'exemple de 2 fonctions qui sont dans une class.

    Hors ma question (le b) concernes une fonction qui n'est pas dans une class

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    t'as une opération de plus en static

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    Finding entry points
    Branch analysis from position: 0
    Return found
    filename:       /Library/Server/Web/Data/Sites/Default/test/index.php
    function name:  (null)
    number of ops:  8
    compiled vars:  none
    line     # *  op                           fetch          ext  return  operands
    ---------------------------------------------------------------------------------
       3     0  >   EXT_STMT                                                 
             1      NOP                                                      
       9     2      EXT_STMT                                                 
             3      ZEND_INIT_STATIC_METHOD_CALL                             'Personne', 'MaFonction'
             4      EXT_FCALL_BEGIN                                          
             5      DO_FCALL_BY_NAME                              0          
             6      EXT_FCALL_END                                            
             7    > RETURN                                                   1
     
    branch: #  0; line:     3-    9; sop:     0; eop:     7
    path #1: 0, 
    Class Personne:
    Function mafonction:
    Finding entry points
    Branch analysis from position: 0
    Return found
    filename:       /Library/Server/Web/Data/Sites/Default/test/index.php
    function name:  MaFonction
    number of ops:  3
    compiled vars:  none
    line     # *  op                           fetch          ext  return  operands
    ---------------------------------------------------------------------------------
       4     0  >   EXT_NOP                                                  
       7     1      EXT_STMT                                                 
             2    > RETURN                                                   null
     
    branch: #  0; line:     4-    7; sop:     0; eop:     2
    path #1: 0, 
    End of function mafonction.
     
    End of class Personne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    Finding entry points
    Branch analysis from position: 0
    Return found
    filename:       /Library/Server/Web/Data/Sites/Default/test/index.php
    function name:  (null)
    number of ops:  7
    compiled vars:  none
    line     # *  op                           fetch          ext  return  operands
    ---------------------------------------------------------------------------------
       2     0  >   EXT_STMT                                                 
             1      NOP                                                      
       6     2      EXT_STMT                                                 
             3      EXT_FCALL_BEGIN                                          
             4      DO_FCALL                                      0          'mafonction'
             5      EXT_FCALL_END                                            
             6    > RETURN                                                   1
     
    branch: #  0; line:     2-    6; sop:     0; eop:     6
    path #1: 0, 
    Function mafonction:
    Finding entry points
    Branch analysis from position: 0
    Return found
    filename:       /Library/Server/Web/Data/Sites/Default/test/index.php
    function name:  MaFonction
    number of ops:  3
    compiled vars:  none
    line     # *  op                           fetch          ext  return  operands
    ---------------------------------------------------------------------------------
       2     0  >   EXT_NOP                                                  
       5     1      EXT_STMT                                                 
             2    > RETURN                                                   null
     
    branch: #  0; line:     2-    5; sop:     0; eop:     2
    path #1: 0, 
    End of function mafonction.

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/12/2006, 11h35
  2. [C#] Appel d'une fonction static impossible ?
    Par TheParadoX dans le forum Windows Forms
    Réponses: 2
    Dernier message: 17/08/2006, 10h23
  3. fonction static dans une class
    Par Stany dans le forum C++
    Réponses: 3
    Dernier message: 16/06/2006, 14h43
  4. Définition d'une fonction static ?
    Par tintin72 dans le forum C++
    Réponses: 9
    Dernier message: 22/12/2005, 11h50
  5. Réponses: 3
    Dernier message: 15/12/2005, 22h04

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