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.

Do NOT follow this link or you will be banned from the site!
WP2FB Auto Publish Powered By : XYZScripts.com