Foros del Web » Programando para Internet » PHP »

microtime()

Estas en el tema de microtime() en el foro de PHP en Foros del Web. Estoy intentando ver lo que tardan en ejecutarse mis scripts pero no hay manera.......he cogido varios scripts que andan por internet....y todos usan la funcion ...
  #1 (permalink)  
Antiguo 18/03/2008, 06:33
 
Fecha de Ingreso: octubre-2007
Mensajes: 394
Antigüedad: 16 años, 5 meses
Puntos: 2
microtime()

Estoy intentando ver lo que tardan en ejecutarse mis scripts pero no hay manera.......he cogido varios scripts que andan por internet....y todos usan la funcion microtime() pero a mi eso no me devuelve nada......de hecho....he probado a hacer un simple echo microtime(); y no me saca nada

(nose si servira de algo pero el phpinfo me dice que bcmathSupport ENABLED )

SALUDOS
  #2 (permalink)  
Antiguo 18/03/2008, 06:36
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Re: microtime()

revisa estos ejemplos que deja el manual de php

Ejemplo 1. Medición del tiempo de ejecución del script con microtime()
<?php
/**
* Funcion simple para replicar el comportamiento en PHP 5
*/
function microtime_float()
{
list(
$useg, $seg) = explode(" ", microtime());
return ((float)
$useg + (float)$seg);
}

$tiempo_inicio = microtime_float();

// Dormir por un momento
usleep(100);

$tiempo_final = microtime_float();
$tiempo = $tiempo_final - $tiempo_inicio;

echo
"No hice nada en $tiempo segundos\n";
?>
Ejemplo 2. Medición del tiempo de ejecución del script en PHP 5
<?php
$tiempo_inicio
= microtime(true);

// Dormir por un momento
usleep(100);

$tiempo_final = microtime(true);
$tiempo = $tiempo_final - $tiempo_inicio;

echo
"No hice nada en $tiempo segundos\n";
?>
__________________
Degiovanni Emilio
developtus.com
  #3 (permalink)  
Antiguo 18/03/2008, 17:05
 
Fecha de Ingreso: octubre-2007
Mensajes: 394
Antigüedad: 16 años, 5 meses
Puntos: 2
Re: microtime()

que va, no ai forma........es que la funcion microtime() no me devuelve nada...

he leido algo de que es para unix......yo lo esoty probando sobre windows..........sera por eso? en caso de que sea culpa de eso...como puedo en windows medir el tiempo que tarda en cargar un script??


por otro lado, otra cuestion, he leido por ahi que hay servidores que tienen un limite de 8mg de memoria maximo por script o algo asi............yo con memory_get_usage puedo ver la memoria que se reserva para mi script pero me surge la primera duda: esos 8mg seran por cada script o para todo mi aplicacion en un momento dado......Ejemplo:
un script mio necesita que se le reserve 10kb .........pero en el mismo instante tengo 10000 visitas...........100000 x 10 kb = MUCHOS BYTES xD dara error por pasar de los 8mg? o eso sera unicamente por cada ejecucion de un visitante concreto?

Un saludo
  #4 (permalink)  
Antiguo 19/03/2008, 01:30
 
Fecha de Ingreso: octubre-2007
Mensajes: 394
Antigüedad: 16 años, 5 meses
Puntos: 2
Re: microtime()

alguien sabe de esto?
  #5 (permalink)  
Antiguo 19/03/2008, 11:21
 
Fecha de Ingreso: octubre-2007
Mensajes: 394
Antigüedad: 16 años, 5 meses
Puntos: 2
Re: microtime()

me parece que vas a ser porque en windows no tira esto del microtime(), sabeis si instalando algo me funcionaria?

uN SALUDO
  #6 (permalink)  
Antiguo 19/03/2008, 12:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: microtime()

¿Que versión de Windows manejas?, yo no tengo problemas para usar microtime() bajo Windows XP.

El manual específicamente dice:
Cita:
microtime() returns the current Unix timestamp with microseconds. This function is only available on operating systems that support the gettimeofday() system call.
Windows soporta esta llamada, por lo que mas bien, es que versión de Windows manejas, igual y tienes desactivado algo especifico.

Saludos.
  #7 (permalink)  
Antiguo 19/03/2008, 17:11
 
Fecha de Ingreso: octubre-2007
Mensajes: 394
Antigüedad: 16 años, 5 meses
Puntos: 2
Re: microtime()

ps la tipica ..... xp prof sp 2
y esqaue he hecho un echo de la funcion y no me escupe nada...... que cosa mas rara....me puedes poner aqui como haces tu un echo de esa funcion? no sea que este haciendo algo mal...
  #8 (permalink)  
Antiguo 19/03/2008, 17:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: microtime()

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Test microtime</title>
</head>
<body>
<h1>Test de Micro time</h1>
<?php
echo sprintf"Microtime: %s"microtime() );
?>
</body>
</html>
Corriendo bajo un XP Prof SP2, y me devuelve el tiempo actual.

Saludos.
  #9 (permalink)  
Antiguo 19/03/2008, 19:16
Avatar de TheViejo  
Fecha de Ingreso: marzo-2007
Ubicación: Delante de mi Vetusto PC.
Mensajes: 29
Antigüedad: 17 años, 1 mes
Puntos: 3
Re: microtime()

Hola.

Esto lo uso desde que utilizaba w98 hasta la actualizad, pasando por infinidad de versiones de php incluida la ultima.

Coloca esto al inicio de tu script. (Importante a inicio, justo bajo <?php)

Código PHP:
 function InicioCronometro()
  {
   
$Inicio microtime();
   
$Inicio explode(" ",$Inicio);
   return 
$Inicio[1] + $Inicio[0];
  }

 function 
FinCronometro($Inicio)
  {
   
$Fin microtime();
   
$Fin explode(" ",$Fin);
   
$Fin $Fin[1] + $Fin[0];
   return (
$Fin $Inicio);
  }
  

 
$PrecisionDecimal 4// La cantidad de números decimales devueltos
 
$start            InicioCronometro(); 

Y esto justo al final (antes de ?>)

Código PHP:
 echo number_format(FinCronometro($start), $PrecisionDecimal'.'''); 

Esto tal cual llevo usando muchos años y no he tenido problemas.

Un saludo y espero que te funcione.
  #10 (permalink)  
Antiguo 20/03/2008, 07:13
 
Fecha de Ingreso: octubre-2007
Mensajes: 394
Antigüedad: 16 años, 5 meses
Puntos: 2
Re: microtime()

gracias, todo solucionado, era culpa mia.

Por ultimo....estoy controlando el microtime y el memory_usage de cada script............entre que valores seria correcto mantener ambos? y a partir de que valor me tengo que pensar mucho que lo que esoty haciendo es una burrada?

Un saludo
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 13:22.