Foros del Web » Programando para Internet » PHP »

quizas les sirva

Estas en el tema de quizas les sirva en el foro de PHP en Foros del Web. el otro dia queria medir cuanto se demoraba en cargar una pagina que estaba haciendo en PHP y luego de investigar un poco decidi que ...
  #1 (permalink)  
Antiguo 19/06/2003, 16:09
Avatar de e-miliox  
Fecha de Ingreso: noviembre-2002
Ubicación: San Antonio - Chile
Mensajes: 223
Antigüedad: 22 años
Puntos: 7
quizas les sirva

el otro dia queria medir cuanto se demoraba en cargar una pagina que estaba haciendo en PHP y luego de investigar un poco decidi que lo mejor seria hacer un par de funciones para calcular esto. Pero como las Classes estan de moda, mejor lo hice en forma de clase y salio pretty, asiq ue aqui se los dejo, seguro que les servira para ponerlo en alguna pagina por ahi

Ahora si le agregan nuevas funciones o algo ya saben donde compartirlas
Código PHP:
<?php
/*
Class PHP que simula un cronometro, para medir el tiempo
de carga de una pagina, por ejemplo.

Toma el tiempo desde el momento que es instanciado (new cronometro())
y dispone de un metodo para "parar" el cronometro y devolver el tiempo
desde la creacion de la instancia hasta que se invoca este metodo.

Autor: e-milio
*/
Class cronometro {
    var 
$comienzo;
    
// me devuelve un tiempo en segundos y milisegundos
    
function _getmicrotime() {
        
        list(
$_milisegundos$_segundos) = explode(" "microtime());
        
        return ((float)
$_milisegundos + (float)$_segundos);
    }

    
// constructor cronometro
    
function cronometro() {
        
        
$this->comienzo $this->_getmicrotime();
        
        return 
true;
    }

    
// para el cronometro y devuelve el tiempo
    // se puede dar una salida formateada a traves de los parametros.
    // 
    // Si $formatear esta a verdadero entonces devolvera cuantos segundos
    // se demoro con $nroDecimales decimales (milisegundos).
    
function stop($formatear false$nroDecimales 0) {
        
        
$_tiempo $this->_getmicrotime() - $this->comienzo;
        
        return (
$formatear) ? number_format($_tiempo$nroDecimales',''.') : $_tiempo;
    }
}
?>
__________________
=PoWeReD By MySeLf!=
  #2 (permalink)  
Antiguo 19/06/2003, 16:13
Avatar de Sexma  
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 109
Antigüedad: 21 años, 5 meses
Puntos: 0
Esto para que es?? para sacar la estadisitica tipo "La pagina ha sido generada en tanto"??
  #3 (permalink)  
Antiguo 19/06/2003, 16:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Bueno .. útil es .. (es más podrías ponerlo en las FAQ's de este foro )

Pero sólo una acotación:
Cita:
se demoraba en cargar una pagina que estaba haciendo en PHP
Lo que calculas es el tiempo de ejecución del script. Más de uno confundirá el término "cargar" con lo que tarda PHP(mejor dicho el servidor HTTP) en enviar la página al "cliente" (navegador en estos casos) ..

Por lo demas .. Un ejemplo de uso (instanciando el objeto y usando los métodos que ahí tienes no estaría de más... No todo el mundo sabe usar objetos (classes) ..).

Así que eso .. te invito hacer un ejemplo de uso y que lo subas a las FAQ's.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 19/06/2003, 16:27
Avatar de e-miliox  
Fecha de Ingreso: noviembre-2002
Ubicación: San Antonio - Chile
Mensajes: 223
Antigüedad: 22 años
Puntos: 7
sip tienes razon con lo de "demorarse" :)

ahora, claro, como dice Sexma la utilidad que le estoy dando yo en este momento es para saber el tiempo que se demoro en ejecutarse un script (una pagina).

Entonces, para utilizar esto, puedes copiar este codigo y ponerlo en algun archivo independiente (para que lo uses como include cuando lo necesites)

yo lo hago de esta manera:
Código PHP:
<?php
// aca tengo escrita la clase
include "cronometro.php" 

$casio = new cronometro();

// hacemos un bucle mas o menos que tome un tiempo, si no
// se nota mucho, podemos subir a mas de 10000 
// (sin exagerar eh? xD)
for ($i $i <= 10000 ; $++)
{
   
// hacer nada
}

echo 
"segun mi reloj, este script se demoro " $casio->stop(true2) . " segundos en su ejecucion";

?>
__________________
=PoWeReD By MySeLf!=
  #5 (permalink)  
Antiguo 20/06/2003, 17:24
Avatar de e-miliox  
Fecha de Ingreso: noviembre-2002
Ubicación: San Antonio - Chile
Mensajes: 223
Antigüedad: 22 años
Puntos: 7
ya cluster, ya edite este mensaje para dejarlo en las FAQ, asi que puedes borrar este.

por su atencion muchas gracias xD.. .
__________________
=PoWeReD By MySeLf!=
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:59.