
Muchas veces queremos saber cual es la duracion un proceso en nuestros scripts de php, ya que a veces hay varias formas de hacer las cosas y queremos saber cual es la mas rapida,  lo que queremos hacer es medir el rendimiento de los scripts, saber cual es mas rapido y el que absorbe menos recursos, y asi tener mas contento al usuario final.
En php existen varias funciones para obtener el tiempo actual o mas bien el, año dia minuto segundo y microsegundo actual, una de esas funciones es microtime() que nos devuelve la fecha actual expresada en microsegundos y esa es la que utilizaremos.
Para obtener el tiempo de ejecucion de un es bien sencillo hacerlo el siguiente codigo nos lo demuestra:
[cc lang=»php»]
< ?php 
     $tiempoInicial = microtime(TRUE); //obtenemos el tiempo en que inicio
      //Tu codigo aqui 
      for ($i=0; $i < 1000000; $i++){
      }
 
    $tiempoFinal = microtime(TRUE); // tiempo en que termino
    echo $tiempoFinal - $tiempoInicial;  // tiempo que duro en segundos
        
    ?>
[/cc]
Tambien me cree una clase que hace eso pero se me hizo que esta demas, pero igual la dejare
[cc lang=»php»]
< ?php
/**
 * Clase para obtener el tiempo de ejecucion de algunos scripts
 * cuando instancias la clase empieza a contar el tiempo
 * para saber cuanto tiempo lleva utilizas el getCurrentTime
 * para saber cuanto tiempo duro un script utilizar el metodo finish
 *
 * @author godie
 */
class Tiempo {
    private  $starTime;
    private  $finishTime;
    private  $totalTime;
    public function __construct() {
        $this->starTime = microtime(TRUE);
    }
    public function finish(){
        $this->finishTime = microtime(TRUE);
        $this->totalTime = $this->finishTime – $this->starTime;
        return $this->totalTime;
    }
    public function getCurrentTime(){
        return (microtime(TRUE) – $this->starTime);
    }
    public function reset(){
        $this->starTime = microtime(TRUE);
    }
    public function getStartTime(){
        return $this->starTime;
    }
       public function getFinishTime(){
        return $this->finishTime;
    }
}
?>
[/cc]
el mismo ejemplo utilizando la clase Tiempo.php:
[cc lang=»php»]
< ?php 
require_once 'Tiempo.php'
$tiempo = new Tiempo();
for($i=0; $i < 100000000; $i++){
            
        }
        echo "for: ". $tiempo->finish();
        $tiempo->reset();
        $i=0;
        while($i < 100000000){
            $i++;
        }
        echo '
 while: ‘. $tiempo->finish();
?>
[/cc]
Espero que a alguien le sirva, yo la utilize para medir cuanto tardaban 2 metodos que regresaban el mismo resultado pero haciendo cosas diferentes.
 
 
 
One comment