como obtener tiempo de ejecucion de un script PHP

compilando

compilando
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.

1 comment
  1. Bitacoras.com
    febrero 21, 2011 at 12:38 am

    Información Bitacoras.com…

    Valora en Bitacoras.com: 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 rendimient……

    Reply
Leave a Reply

Your email address will not be published. Required fields are marked *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.