Benchmarking tus scripts PHP

Este artículo muestra una sencilla forma de medir el tiempo de ejecución de tus scripts. Puede que no sea la forma mas fiable de hacerlo, pero es perfectamente válido en la mayoría de situaciones.

Advertencia: Para el correcto funcionamiento del script presentado en este artículo es necesario que vuestra instalación de PHP incluya la extensión BCMath. En Windows esta extensión está siempre disponible. En sistemas Unix puede que no este disponible, ya que es necesario compilar PHP con la opción “–enable-bcmath”. Si no tiene esta opción habilitada en le mostramos una forma alternativa de hacer lo mismo.

Aunque no resulte el método más fiable de medir el tiempo de ejecución de un script, es suficiente como para hacerte una idea del tiempo que precisa un script o algoritmo en ejecutarse. De esta forma podrás comparar fácilmente los tiempos de ejecución de distintos scripts e ir poco a poco aprendiendo a optimizar tus scripts al máximo, que es al fin y al cabo uno de los puntos más importantes a tener en cuenta al programar cualquier aplicación.

Para empezar, necesitaras incluir las siguientes dos funciones en el script que quieras medir:

< ?php
function timer_start() {
global $timeparts,$starttime;
$timeparts = explode(" ",microtime());
$starttime = $timeparts[1].substr($timeparts[0],1);
$timeparts = explode(" ",microtime());
}

function time_end() {
global $timeparts,$starttime;
$endtime = $timeparts[1].substr($timeparts[0],1);
return bcsub($endtime,$starttime,6);
}
?>

Para incluir estas funciones en el script a medir puedes hacerlo 1) pegando el código en el mismo script a medir o 2) pegar las funciones en un fichero aparte, por ejemplo, “benchmark.php” y posteriormente incluir este fichero en el script que quieras medir de la siguiente forma:

< ?php
include('/articulo/20/benchmarking_tus_scripts_php/trackback/benchmark.html');
?>

Una vez incluidas las funciones en tu script, debes llamar a la función time_start() justo antes del código a medir y a la función time_end() al final del código a medir.

Al final, un script que quieras medir, quedaría algo así:

< ?php
// incluir las funciones para medir el tiempo de ejecución
include('/articulo/20/benchmarking_tus_scripts_php/trackback/benchmark.html');

// iniciar el reloj
time_start();

// aquí el código que deseas medir
echo 'Hola Mundo';

terminar el reloj e imprimir el tiempo de ejecución
echo time_end();
?>

En definitiva, una forma fácil y rápida de medir el tiempo de ejecución de tus scripts para poder así encontrar los puntos críticos de tus aplicaciones e ir aprendiendo poco a poco a crear código optimizado.

One Response to “Benchmarking tus scripts PHP”

  1. guebmaster.com » Otra forma de medir el tiempo de ejecución de tus script Says:

    […] /”>

    « Páginación de resultados
    Benchmarking tus scripts PHP »

    Otra forma de medir el t […]

Leave a Reply