Foros del Web » Programando para Internet » PHP »

Cuál es más rápido?

Estas en el tema de Cuál es más rápido? en el foro de PHP en Foros del Web. Hola, quería saber si el primer código se ejecuta más rápido que el segundo código: 1er código Código PHP: if( $cadena  ==  "1" ){ include( ...
  #1 (permalink)  
Antiguo 04/12/2007, 14:32
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 4 meses
Puntos: 36
Cuál es más rápido?

Hola, quería saber si el primer código se ejecuta más rápido que el segundo código:

1er código

Código PHP:
if($cadena == "1"){

include(
"archivo1.php");

}else if(
$cadena == "2"){

include(
"archivo2.php");

}else if(
$cadena == "3"){

include(
"archivo3.php");


2do código

Código PHP:
if($cadena == "1"){

Contenido del archivo1.php

}else if($cadena == "2"){

Contenido del archivo2.php

}else if($cadena == "3"){

Contenido del archivo3.php



Gracias!
  #2 (permalink)  
Antiguo 04/12/2007, 14:42
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Cuál es más rápido?

El segundo.

Ten en cuenta que un include implica llamar a otro fichero, es decir, localizarlo, abrirlo y leerlo.

La pregunta es si realmente te merece la pena esa ganancia de rendimiento, que no creo que sea verdaderamente apreciable.

Pero para el servidor está claro que es más lento el include.

Aunque si lo que insertas son porciones muy grandes de código siempre estará mejor estructurado en ficheros diferentes (o al menos en funciones separadas).

Si utilizas include echále un ojo a require, te puede interesar.
  #3 (permalink)  
Antiguo 04/12/2007, 18:50
 
Fecha de Ingreso: septiembre-2007
Mensajes: 220
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: Cuál es más rápido?

En realidad es más rápido este, pero no siempre la rápidez de ejecución es de rápida de edición.

Código PHP:
if($cadena=="1"){Contenido del archivo1.php}elseif($cadena=="2"){Contenido del archivo2.php}elseif($cadena=="3"){Contenido del archivo3.php
  #4 (permalink)  
Antiguo 04/12/2007, 19:01
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: Cuál es más rápido?

n:/ no seria mejor un swich los if se consultan igualmente todos, el swich hace break cuando encuentra lo que necesita no ....
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #5 (permalink)  
Antiguo 05/12/2007, 01:06
 
Fecha de Ingreso: noviembre-2007
Mensajes: 157
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Cuál es más rápido?

Cita:
Iniciado por kaninox Ver Mensaje
n:/ no seria mejor un swich los if se consultan igualmente todos, el swich hace break cuando encuentra lo que necesita no ....
No se ejecutan todos.
  #6 (permalink)  
Antiguo 05/12/2007, 02:06
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Cuál es más rápido?

No creo que se refiera a ejecutar el código, sino a evaluar las condiciones.

En un switch, después de entrar por el que le corresponda salta a lo que haya después del mismo, sin seguir evaluando el resto (siempre que haya un break, claro)

Aunque en el caso de los if y elseif sería parecido, el else sólo se evaluará si falla la primera condición.

O al menos eso era lo que tenía entendido yo.
  #7 (permalink)  
Antiguo 05/12/2007, 05:06
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 6 meses
Puntos: 48
Re: Cuál es más rápido?

Otra opcion
Código PHP:
$scripts=array('1'=>'archivo1.php','2'=>'archivo2.php');
include 
$scripts[$cadena]; 
De todas formas, hazlo primero de la forma mas mantenible (include) y una vez que lo tengas funcionando, mide y localiza los cuellos de botella. Y a partir de ahi, optimizas. La optimizacion debe ser el ultimo paso del desarrollo. Ya sabes, primero hacer que funcione, y luego hacer que funcione rapido.
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 00:24.