Foros del Web » Programando para Internet » PHP »

Incluir archivo de funciones, es lento o rápido? Compensa?

Estas en el tema de Incluir archivo de funciones, es lento o rápido? Compensa? en el foro de PHP en Foros del Web. Hola a todos, Mi pregunta es algo que se puede orientarse a cualquier lenguaje (Java, PHP, ASP...), lo que quiero saber es si lo que ...
  #1 (permalink)  
Antiguo 14/02/2006, 03:57
 
Fecha de Ingreso: febrero-2005
Mensajes: 44
Antigüedad: 12 años, 9 meses
Puntos: 0
De acuerdo Incluir archivo de funciones, es lento o rápido? Compensa?

Hola a todos,

Mi pregunta es algo que se puede orientarse a cualquier lenguaje (Java, PHP, ASP...), lo que quiero saber es si lo que llevo haciendo en los últimos trabajos está bien hecho ó existe una forma mejor de hacerlo:

Yo normalmente creo un archivo "funciones.__(jsp/asp/php)" donde defino las funciones más comunes que suelo usar: verificar fechas, cambio de página, ... y aprovecho para incluir algunas que únicamente uso el ocasiones determinadas, pero que, ya que creo un archivo de funciones (librería?) pienso que no está mal que las incluya en él.

Mi duda viene al pensar si el servidor gastará demasiado tiempo en leer este archivo si lo incluyo en todas las páginas que utilizan alguna de estas funciones, o para él esto es un proceso rápido. ¿Qué opinan?

Espero haber expuesto mi duda correctamente

Un saludo y gracias.
__________________
Arrancando...

Última edición por netten; 14/02/2006 a las 11:50
  #2 (permalink)  
Antiguo 14/02/2006, 06:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
El tiempo de proceso en general es despreciable vs a la comodidad de mantención del código, estructura y reusabilidad que le das de esa forma creando "librerías" (de funciones, etc) .. archivos de configuración centralizados y reusados por muchos otros scripts .. creando classes .. etc.

Si quieres . .haz tus pruebas y sal de dudas. Usa microtime() . .toma el tiempo al principio de tu script, llama a tu código externo (include() .. etc) y de ahí toma nuevamente el tiempo con microtime() otra vez al final, restalo y haz várias pruebas para sacar algún promedio. Tu veras si para tu caso concreto (de tu aplicación o espectativas) es torelable ese tiempo de proceso o no ..

Un saludo,
  #3 (permalink)  
Antiguo 14/02/2006, 08:37
 
Fecha de Ingreso: febrero-2005
Mensajes: 44
Antigüedad: 12 años, 9 meses
Puntos: 0
Ok Cluster, haré algunas pruebas con microtime() cuando tenga la librería con unas cuantas funciones más y tenga mayor tamaño, comprobando cuánto tarda...

Cuando lo tenga los tiempos los pondré por aquí. De momento seguiré como hasta ahora que me resulta lo más cómodo y claro de usar.

Muchas gracias y un saludo!
__________________
Arrancando...
  #4 (permalink)  
Antiguo 14/02/2006, 09:14
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 12 años, 6 meses
Puntos: 2
Solo un comentario: No sé si estoy muy lejos de la realidad, pero CREO que no hay mucha diferencia, es más me animaría a decir que casi no la hay, tengo bastantes años trabajando con hardware y tengo mucha experiencia en el tema, y la única manera de que la diferencia de tiempo se note es que hagas las dos pruebas una en un pentium 4 bla bla bla, contra una 486. Esto lo digo porque si no mal recuerdo lo que hace al hacer un include() es copiar el archivo y agregarlo al que se esta ejecutando, y a menos que php tenga dificultades con el copy y paste este tiempo no se tendría que notar (por lo menos al ojo porciento), claro esta que hay extremos, si a alguien se le ocurre hacer un implode de una librería de 20 megas de funciones se notará muchisimo (pero no creo que sea por el echo del implode, sino mas bien el echo de parseo del código que tiene que hacer).

Saludos.
  #5 (permalink)  
Antiguo 14/02/2006, 11:48
 
Fecha de Ingreso: febrero-2005
Mensajes: 44
Antigüedad: 12 años, 9 meses
Puntos: 0
Thanks Dario, la verdad es que tu propuesta es del todo lógia

Normalmente los archivos de funciones me suelen ocupar Kbs sin llegar a megas. Los que más ocupan son algunas funciones específicas, para las cuales creo un fichero a parte únicamente para ellas.

Un saludo y gracias
__________________
Arrancando...
  #6 (permalink)  
Antiguo 14/02/2006, 15:03
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 12 años, 6 meses
Puntos: 2
De nada.. de todas formas te invito a que hagas las pruebas si tienes ganas, ya que te terminaría de convencer y confirmaría que mi lógica es buena .

Saludos.
  #7 (permalink)  
Antiguo 15/02/2006, 03:00
 
Fecha de Ingreso: febrero-2005
Mensajes: 44
Antigüedad: 12 años, 9 meses
Puntos: 0
Una cosa más, para dejar todo tocado:

Dejando a un lado lo de copiar el archivo y agregarlo al otro, la compilación del archivo incluido podría afectar al tiempo de apertura de la página? Ya que siempre que la abriera tendría que leer e interpretar todo el código añadido, no?
__________________
Arrancando...
  #8 (permalink)  
Antiguo 15/02/2006, 04:10
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 12 años, 6 meses
Puntos: 2
A mi forma de ver... siempre hay limites, cuando se hace el parseo del código para interpretarlo es obvio que tiene latencia a cuanto mas linea hay (los extremos se notan) ahora yo en local he visto (o por lo menos no noto diferencia) que aplicaciones de 2 megas abren igual de rápido que mi script de 40 kb.... ojo hay cosas que afectan la apertura de la pagina pero no por lo pesado si no por lo que hace, por ejemplo si yo en mi pagina voy y busco un dato de otra pagina y la muestro en la mía puede ser que si el servidor de la otra pagina este mal en ese momento, la mía podría llegar a exceder el tiempo de ejecución, por esto no hay que confundir.

Si alguna otra opinión sobre esto a mi también me gustaría escucharla.

Saludos.
  #9 (permalink)  
Antiguo 16/02/2006, 02:16
 
Fecha de Ingreso: febrero-2005
Mensajes: 44
Antigüedad: 12 años, 9 meses
Puntos: 0
Si no hay nada al respecto, no será muy descabellado lo que hacemos...

Un saludo y gracias
__________________
Arrancando...
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:29.