Sergio Álvarez (xergio)

Escrito 211

Pila de memoria de PHP

Según tnego entendido, PHP trabaja con la memoria en forma de pila, o sea, que lo primero que entra es lo último que sale. Es algo que aprendí el día que participé en el desafío de rellenar a Nemo, en el que prácticamente todos usamos una función recursiva para ello. Ahí pudimos comprobar que PHP tiene un grave problema en este asunto, y es que la memoria que dedica para ello es poquita y a nada que la recursividad crezca un poco, PHP muere. Si, muere, termina la ejecución sin devolver ningún mensaje ni nada, y ya puedes volverte loco buscando el problema...

Hoy creo que me está pasando algo similar. La diferencia es que la recursividad implica el crear una instancia a un objeto, y este a su vez una conexión a MySQL. Supuestamente se necesita más memoria para ello y a la mínima el script casca.

¿Solución? En el primer caso lo resolví en su día creándome mi propia pila. Ahí ya dependes de la memoria del sistema. En este otro caso me temo que la solución será cambiar el algoritmo, porque tampoco es muy lógico el crear una conexión a la base de datos pro cada objeto instanciado. Además tampoco es muy ortodoxo es recurrir un objeto, habrá que plantearlo de forma que el proceso sea parte del objeto.

2 comentarios

 Jabber status rj_quesada comentó:

[Avatar]
  • #1
  • 15-9/21:59
¿Y como creaste esa pila?

 Jabber status xergio comentó:

[Avatar]
  • #2
  • 16-9/15:18
un array

Deja un comentario

Pulsa en los títulos para ver información sobre cómo comentar.

Autocompletado de nicks

Todos los campos del formulario son opcionales menos el del PIN.

Usa el tabulador para autocompletar los nicks de otros comentaristas.

Si escribes @ y pulsas la tecla tabulador varias veces podrás recorrer la lista de nicks usados

Y si escribes # (almoadilla) y número (Ej.: #5) se substituirá directamente el nick del comentario correspondienmte al pulsar el tabulador.

Tags HTML permitidos

Tags: a, strong, b, em, u, code, cite.

El tag a admite la propiedad href="..." para indicar la dirección.

Los tags también tienen autocompletado (al igual que los nicks). Para usarlos se pone por ejemplo strong + TABULADOR.

Formulario para comentar

Cargando...

Todo el contenido bajo el dominio XERGIO.NET está sujeto a la licencia Creative Commons con las condiciones BY-SA. Web estandarizada en XHTML 1.0, CSS 2, RSS 2 y Atom 1.0.