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.
Bitacoras.com
febrero 21, 2011 at 12:38 amInformació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……