
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:
1 2 3 4 5 6 7 8 9 10 11 |
Tambien me cree una clase que hace eso pero se me hizo que esta demas, pero igual la dejare
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | <?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; } } ?> |
el mismo ejemplo utilizando la clase Tiempo.php:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?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 '<br /> while: '. $tiempo->finish(); ?> |
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 trackback
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……