Foros del Web » Programando para Internet » PHP »

como saber el tiempo que se lleva de procesamiento?

Estas en el tema de como saber el tiempo que se lleva de procesamiento? en el foro de PHP en Foros del Web. a ver, lo que estaba haciendo es un pequeño script el cual me mostraba aleatoriamente 5 enlaces... bien, lo hacia primero asignando una semilla y ...
  #1 (permalink)  
Antiguo 13/08/2003, 19:44
 
Fecha de Ingreso: agosto-2003
Mensajes: 102
Antigüedad: 14 años, 4 meses
Puntos: 0
como saber el tiempo que se lleva de procesamiento?

a ver, lo que estaba haciendo es un pequeño script el cual me mostraba aleatoriamente 5 enlaces... bien, lo hacia primero asignando una semilla y luego llamando a rand(), mi problema estaba en cuando queria que fueran los 5 totalmente distintos, que no se pudieran repetir... bueno, cuando el rango de aleatoriedad era corto, entre 0 y 15, se podian llegar a hacer hasta 40.000 llamadas a rand, para obtener valores no mostrados.... como veis un fallo de programacion de base... al final lo he reducido entre 5 y 9 veces solamente, con un codigo bastante depurado.. pero mi duda esta en que si un dia, por la razon que sea, no encuentra 5 distintos y se queda dentro del bucle infinito, como puedo forzar el salir automatico pasado un tiempo, digamos 0.1 segundos?

no solo me interesa para la aleatoriedad,sino para otras partes... existe algo asi?
  #2 (permalink)  
Antiguo 13/08/2003, 19:49
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Se me ocurre que al inicio del bucle (bueno, antes de iniciarlo) crees una variable que recoja el microtime, y a cada vuelta (al final) vas contando la diferencia...

Cuando esa diferencia en tiempo sobrepase el límite que tu le digas, mandas un break;

Ayuda?
__________________
Manoloweb
  #3 (permalink)  
Antiguo 13/08/2003, 20:00
 
Fecha de Ingreso: agosto-2003
Mensajes: 102
Antigüedad: 14 años, 4 meses
Puntos: 0
si, tambien lo habia pensado... ahora mismo para evitar matar el servidor con el bucle, tengo un simple contador que me añade uno cada vez que hace un rand y que evita que se hagan mas de 30...


lo del tiempo que me dices esta bien pensado, pero hay alguna funcion propia del php, o alguna variable o algo similar, que te diga cuanto tiempo lleva procesando el script? algo para controlar el tiempo maximo de ejecucion (sin contar el parametro del php.ini al cual no puedo acceder)?
  #4 (permalink)  
Antiguo 13/08/2003, 20:19
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Pues hay forma de setearlo desde tu script, pero no creo que sea lo mejor, pues el resultado va a ser que TODO tu script se terminará, no solo el bucle...

ini_set(); creo que así se llama la función...

__________________
Manoloweb
  #5 (permalink)  
Antiguo 13/08/2003, 21:37
Avatar de MSDark  
Fecha de Ingreso: noviembre-2002
Ubicación: Talca VII región
Mensajes: 337
Antigüedad: 15 años, 1 mes
Puntos: 1
con ini_set() puedes cambiar cualquier variable de tu php.ini

string ini_set ( string varname, string newvalue)


seria algo asi ini_set('max_execution_time','40');

este debes ponerlo al inicio del script, algo asi como los session_start() y cosas asi, es decir, antes de cualquier salida al navegador.

Saludos

http://www.php.net/manual/es/function.ini-set.php
__________________
DelirioLinux.. Software Libre y tecnología.. php también..
Saludos :arriba:
Usuario Linux #198486 y Ubuntu #12791
Gutsy Gibbon
  #6 (permalink)  
Antiguo 14/08/2003, 03:56
 
Fecha de Ingreso: agosto-2003
Mensajes: 102
Antigüedad: 14 años, 4 meses
Puntos: 0
muchisimas gracias, tomo buena nota de lo que me deciis, creo que en algunos scripts puede ser bueno conocer lo que contais
  #7 (permalink)  
Antiguo 16/08/2003, 11:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
set_time_limit() hace lo mismo que usar ini_set() y llamar directamente a la directiva: 'max_execution_time'

Algunas configuraciones de PHP (safe_mode y cosas así) no permiten ejecutar ini_set() para acceder a la configuración de PHP en tiempo real .. pero si que puedes ejecutar funciones especificas para tal fin como es el ejemplo.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 12:10.