[PHP] Mersure de performance d'un script - Pour comparaison entre 2 bouts de code

Salut à tous,

Il existe souvent plusieurs méthodes pour arriver au même résultat, mais souvent certaines sont plus ‘light’ que d’autres.
J’aurais donc souhaité pouvoir faire des comparaisons entre 2 scripts pour sélectionner le plus rapide

voici donc comment je prcède:

$chrono->start();
for($b = 0; $b < $iterations; $b++) include('code1.php');
$chrono->stop();
echo 'code1.php: ',$chrono->elapsed(),' ms<br>';

et ce pour chaque bout de code que je souhaite tester (qui se trouvent donc dans les fichier code1.php, code2.php, etc…)

donc je me demandais d’une part si cette méthode donne des résultats à peu près fiables (le but principal n’étant pas de mesurer les performance brutes d’un script, mais surtout la comparaison entre plusieurs scripts) et d’autre part s’il y avait une meilleur méthode, pour par exemple être plus précis sur la performance dun script (par rapport au cache interne de php ou que sais-je d’autre :p)

y’a mieux, tu vas dans un shell et tu fais :

time php fichier1.php
et
time php fichier2.php

:neutre:

fonctionne sous windows? Oo

parce que ca donne l’heure time normalement, nan?

sinon c’est intéressant :slight_smile:

Ca fonctionne avec msys… mais c’est pas l’idéal.

donc? concretement?

je peux garder comme ca? c’est assez représentatif?

Normalement oui. Surtout que ça t’évite le temps de parsing du script, et d’autres problèmes liés explicitement à PHP.

sinon tu peux demander a quelqu’un qui a un linux de le faire :neutre:

Le problème de ta méthode, benj, c’est qu’il y a :

  1. temps de chargement de php
  2. temps d’analyse du script

Ce qui fausse le résultat et ne te donne pas le temps d’éxécution réel.

mais cela donne la différence entre l’execution des deux scripts, ce qu’il cherche si je ne m’abuse :wink:

mais la je joue sur les mots.

oui mais comme mon serveur de test est sous windows, de toute façon la solution est vite choisie :smiley:

merci à vous 2 pour vos réponses

Il y a un package PEAR fait pour mesurer le temps d’exécution de bouts de code:
http://pear.php.net/package/Benchmark