borrame.com - Colección particular de recortes de código y documentación para programación web

Lo más fresco

  1. Cadena aleatoria en PHP (¡ahora también multi-byte!) Modificado
  2. Cookies en JavaScript Modificado
  3. Reiniciar Apache con cuidado (graceful restart) Modificado

Sugerencias del chef

Lo más visitado

  1. Dar formato a un número
  2. Fecha y hora
  3. Cookies
  4. Rotar logs en Windows
  5. Reiniciar Apache con cuidado (graceful restart)

Cronómetro sencillo

Medir el tiempo que tarda en ejecutarse una parte del código es una tarea que no tiene ciencia alguna; también se puede hacer tan compleja como queramos. Este recorte describe una forma simple y práctica.

/**
 * Devuelve el nº de segundos transcurridos desde que fue reiniciada o llamada por primera vez
 *
 * El valor tiene precisión de microsegundos
 */

function crono($reiniciar=FALSE){ // v2009-10-17
    static $t0 = NULL;
    if($reiniciar || is_null($t0)){
        $t0 = microtime(TRUE); // Ponemos el contador a cero
    }
    return microtime(TRUE) - $t0;
}

Nótese que crono(TRUE) no devuelve exactamente cero a menos que se ejecute en un ordenador cuántico de ciencia ficción.

Ejemplo de uso

// Cronometramos una operación muy larga
crono();
usleep(1000000*M_PI);
printf("Operación muy larga realizada en %.3f segundos\n", crono());

// Cronometramos otra operación muy larga
crono(TRUE);
usleep(1000000*M_E);
printf("Otra operación muy larga realizada en %.3f segundos\n", crono());

Esta página ha sido impresa el jueves 29 de julio de 2010 (21:24:41 +0200) desde http://borrame.com/recortes/php/crono.html. La última vez que miré contenía HTML válido con CSS fresquito y si tiene flatas de ortografía ha sido sin querer.

borrame.com es el sitio anteriormente conocido como bits.demogracia.com (no confundir con Demogracia, que sólo pasaba por ahí).

© 2005-2010 by Álvaro G. Vicario (alvaro.es) • Burgos (España) • borrame.com