Foros del Web » Programando para Internet » PHP »

Proceso muy lento .. ¿por que?.

Estas en el tema de Proceso muy lento .. ¿por que?. en el foro de PHP en Foros del Web. Buenas, esto es muy raro. El proceso en local me tarda 1 segundo o 2 no mas. El el servidor "real" me tarda minimo 30 ...
  #1 (permalink)  
Antiguo 23/09/2009, 03:46
 
Fecha de Ingreso: enero-2009
Mensajes: 212
Antigüedad: 15 años, 3 meses
Puntos: 4
Proceso muy lento .. ¿por que?.

Buenas, esto es muy raro.

El proceso en local me tarda 1 segundo o 2 no mas.
El el servidor "real" me tarda minimo 30 segundos cuando no tarda mas.

El codigo es este :

Código PHP:
    function diccionario ($letra)
    {
        
$existe 1;
        if (
$code = @file('http://buscon.rae.es/draeI/SrvltGUIBusUsual?LEMA=' utf8_encode($letra))) {
            
preg_match_all("/<span class=\"eAcep\">(.*?)<\/span>/i",implode(" ",$code),$acep);
            if(
count($acep[1])==0)
            {
                
$existe 0;
            }
        }
        
        return 
$existe;
    }
    
    
    echo 
diccionario($_GET["palabra"]); 
Devuelve 1 o 0 si la palabra existe, lo uso para saber si tal palabra existe en el diccionario de la rae ....

¿Que estoy haciendo mal?, es que no es viable si me tarda 30 segundos cada vez que tengo que mirar si la palabra esta bien escrita.

Un saludo y gracias anticipadas.
__________________
Juega al ajedrez online :http://www.davchess.com
Tecnicas de Ajedrez:http://www.7chess.com
  #2 (permalink)  
Antiguo 23/09/2009, 04:02
 
Fecha de Ingreso: marzo-2006
Mensajes: 44
Antigüedad: 18 años, 1 mes
Puntos: 4
Respuesta: Proceso muy lento .. ¿por que?.

Yo creo que la lentitud es por el servidor donde tienes la página, unido a que las expresiones regulares tampoco es que sean demasiado rápidas, pero una diferencia tan grande tiene que ser problema del servidor.

De todos modos, creo que podrías optimizar la función de la siguiente forma:

Código PHP:
function diccionario ($letra)
    {
        if (
$code = @file('h*tp://buscon.rae.es/draeI/SrvltGUIBusUsual?LEMA=' utf8_encode($letra))) {
            return 
preg_match_all("/<span class=\"eAcep\">(.*?)<\/span>/i",implode(" ",$code),$acep);
        }
        else
        {
         return 
1;
         }
    } 
Saludos

PD: Tuve que cambiar la dirección porque no me deja poner enlaces.
  #3 (permalink)  
Antiguo 23/09/2009, 04:24
 
Fecha de Ingreso: enero-2009
Mensajes: 212
Antigüedad: 15 años, 3 meses
Puntos: 4
Respuesta: Proceso muy lento .. ¿por que?.

Pero que puede ser del servidor .... he probado esto que me comentas de optimizar el codigo y tarda lo mismo, no se nota ....

¿Que podria ser?, es para hablar con los del server ... por que la verdad que es muy raro.
__________________
Juega al ajedrez online :http://www.davchess.com
Tecnicas de Ajedrez:http://www.7chess.com
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 19:52.