Ver Mensaje Individual
  #8 (permalink)  
Antiguo 29/01/2010, 03:45
basa
 
Fecha de Ingreso: abril-2008
Mensajes: 50
Antigüedad: 16 años
Puntos: 0
Respuesta: Rendimiento con APC

hola unreal4u, gracias por el aporte!
De todas formas no estoy de acuerdo en que sin la opción de autoload, los programas queden más ordenados. Precisamente, yo personalmente es una de las ventajas que le veo: el que la inserción de los ficheros necesarios sea completamente transparente, dándote una gran flexibilidad, además de la mejora incríble que supone para el mantenimiento del código.
Siguiendo la convención del paradigma de orientación a objetos fielmente de un fichero una clase, al final el problema es que te haces con un montón increíble de includes que abren una vía muy grande a los errores.

Es más, en mi aplicación como en la mayoría, yo no tengo ni idea en un principio de las acciones a las que se va a llamar, estas se instancian dinámicamente según lo que pida el usuario.

El autoload, te permite la posibilidad de cargar sólo aquellos ficheros que se necesitan en el momento, mientras que sin él, tendría que cargar todos los ficheros se vayan o no a utilizar (siempre buscando el mayor rendimiento posible con el APC). Incluso siguiendo el principio de sólo cargar aquellos ficheros que una clase pueda necesitar, seguramente vaya a necesitar cargar dos veces el mismo fichero (esto es, tener que escribir en más de un sitio el mismo código).
Que pasa si cambio de nombre a uno de los ficheros en un punto en el que la aplicación ya ha crecido bastante?
Que pasa además cuando quiera meter un nuevo módulo. Tendré que modificar el motor de la aplicación para que importe los nuevos ficheros

Esto se solucionará creo yo, cuando se implemente el concepto de paquetes, lo cual espero no tarde en llegar, donde solo necesitarías importar un paquete (puediendo contener este un montón de clases)y entonces sí, el APC será algo aprovechable, pero de momento prefiero la flexibilidad que te da el autoload de ficheros creo...

Además, a nivel de rendimiento y optimización se pueden hacer muchas más cosas... caché de salida, compresión gzip, optimización de las llamadas a bases de datos etc... y sobre todo, hace poco leía un artículo en el que decían que el mayor cuello de botella se genera en el cliente en un proporción del 80%, con lo que la optimización del lado del cliente es quizás lo más importante.

Parece que me estoy contestando a mí mismo, pero me ha parecido un tema interesante y aquí hay gente con muchíiisima más experiencia que yo, que seguro puede darme más puntos a tener en cuenta o echar por tierra lo que digo!

saludos!!