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 :

Temps d'execution différent entre intérieur/extérieur d'une méthode


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 253
    Points : 84
    Points
    84
    Par défaut Temps d'execution différent entre intérieur/extérieur d'une méthode
    Bonjour,

    Je pratique le PHP depuis quelques années, je n'ai encore jamais été confronté à de tels cas.
    Peut-être parce que je me penche rarement sur le temps mis par mes scripts pour s’exécuter.

    Selon les codes suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $start = microtime(true);
    $this->_part = MVCpart::namedPart($part_name);
    echo "externe : ".(microtime(true) - $start);
    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
     
    // Dans la classe MVCpart
    public static function namedPart($part_name){
    	$start = microtime(true);
    	$search_data = new RecordData(array (
    		"SYSTEM"=>new PartData(array (
    			"p_id"=>$part_name
    		))
    	));
     
    	$result = NULL;
    	$classe = get_called_class();
    	try {
    		$search_result = self::getDD($classe)->search($classe, $search_data);
     
    		if (is_object($search_result) && $search_result->size() > 0){
    			$results_entryList = $search_result->keySet();
    			$result = new MVCpart ($results_entryList[0]);
    		}
    	} catch (Exception $e){
    		echo $e->getTraceAsString();
    	}
     
    	echo "interne : ".(microtime(true) - $start);
    	return $result;
    }
    J'observe des temps interne et externes différents. Et la différence n'est pas des moindres.
    Il est difficile à croire que l'empilement/dépilement soit responsable de cette différence.
    interne : 0.0055050849914551
    externe : 0.13650298118591

    Dans un premier temps, je souhaiterais trouver ce qui n'est pas bon dans mon chronométrage.

    Dans un deuxième temps et si possible, je pourrais donner plus de détails sur le code pour trouver ce qui coute tellement en temps.


    Merci par avance et bon dimanche.

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 241
    Points
    20 241
    Par défaut
    Comment est inclus ta classe MVCpart ?

    Si c'est de l'autoloading , c'est sans doute la réponse à ta question.

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 253
    Points : 84
    Points
    84
    Par défaut
    Bonjour,

    Merci pour cette réponse.
    En effet c'est de l'autoloading. Tellement "auto" que ca ne m'avait pas effleuré l'esprit.

    S'agissant d'une classe avec pas mal de dépendance, l'autoloading s’exécute de manière itérative, ce qui explique le temps mis je pense.

    Bonne journée.

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

Discussions similaires

  1. [Débutant] Temps d'execution différent entre framework 3.5 et framework 4.0
    Par shayw dans le forum VB.NET
    Réponses: 11
    Dernier message: 13/02/2014, 00h13
  2. Réponses: 3
    Dernier message: 29/01/2014, 11h42
  3. Evaluation temps d'execution différents codes
    Par koluche dans le forum VB.NET
    Réponses: 5
    Dernier message: 28/04/2011, 16h36
  4. Temps d'exécution différents entre Picasa et Gimp ?
    Par byloute dans le forum Imagerie
    Réponses: 0
    Dernier message: 06/05/2010, 15h12
  5. [Débutant] Temps de video différent entre réel et enregistrement
    Par cozo22 dans le forum MATLAB
    Réponses: 2
    Dernier message: 01/04/2008, 11h48

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