[Py-MAD] A propósito de mi charla sobre "memory leaks"

Kiko kikocorreoso at gmail.com
Tue Dec 24 11:18:24 CET 2013


en la pyconus 2014 habrá una charla sobre memory leaks. PVI.

El 23/12/13, Marcos Perez <marcos.pe at gmail.com> escribió:
> Por echar más leña al fuego, yo he sufrido memory leaks en IronPython. No
> funciona "idénticamente" a Python, pero se pueden arreglar algunas cosas
> por configuración...
>
>
> El 23 de diciembre de 2013, 1:04, Jesus Cea <jcea at jcea.es> escribió:
>
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> He comentado este tema porque salió precisamente en mi charla de
>> "Memory Leaks", Andrey hizo un comentario al respecto, y lo investigué
>> un poco. Las cosas mejorarán bastante en Python 3.4, en cuanto a
>> ciclos, leaks, etc. Entre este PEP y el módulo "tracemalloc"...
>>
>> Más, abajo...
>>
>> On 21/12/13 07:42, J. Javier Maestro wrote:
>> > Así que sí, __del__ será seguro y se arreglará y/o romperá
>> > (potencialmente) mucho código Python existente.
>>
>> __del__ se llama cuando se borra un objeto y éste no forma parte de un
>> ciclo. Eso de siempre.
>>
>> La diferencia ahora es que también se llamará cuando forma parte de
>> ciclos. Pero solo se llama cuando ese objeto es "basura". Si algún
>> programa falla por eso, quiero verlo, porque la únicas referencias que
>> puede haber a ese objeto son, precisamente, otros objetos de su ciclo,
>> Y TODO él es basura.
>>
>> El problema que teníamos antes era que llamar a un "__del__" cuando
>> hay un ciclo es problemático porque... ¿y si llamamos al "__del__"
>> cuando ya hemos eliminado la mitad de los objetos del ciclo, y ese
>> método intenta acceder a ellos?. Y si tenemos "__del__" en varios
>> objetos del ciclo, ¿en qué orden se llaman?.
>>
>> Lo que se hará en Python 3.4 es llamar primero a todos los "__del__"
>> del ciclo, sin haber borrado nada antes, y LUEGO, revisar que los
>> objetos siguen siendo basura (no se han "resucitado") y, si es así,
>> eliminar los objetos "de verdad".
>>
>> A mí me parece bastante seguro, y si algo se rompe, será código
>> verdaderamente patológico que quiero ver. O, tal vez, no ver :-).
>>
>> - --
>> Jesús Cea Avión                         _/_/      _/_/_/        _/_/_/
>> jcea at jcea.es - http://www.jcea.es/     _/_/    _/_/  _/_/    _/_/  _/_/
>> Twitter: @jcea                        _/_/    _/_/          _/_/_/_/_/
>> jabber / xmpp:jcea at jabber.org  _/_/  _/_/    _/_/          _/_/  _/_/
>> "Things are not so easy"      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
>> "My name is Dump, Core Dump"   _/_/_/        _/_/_/      _/_/  _/_/
>> "El amor es poner tu felicidad en la felicidad de otro" - Leibniz
>> -----BEGIN PGP SIGNATURE-----
>> Version: GnuPG v1.4.15 (GNU/Linux)
>> Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
>>
>> iQCVAwUBUrd98Jlgi5GaxT1NAQJyQAP+PJOFTUNxuWomfMYncT3jfdVGQr+tw+yk
>> 0goPTPr3iex4lQeG7OOyQt7XxKzAfyT9+MVE+7MA8b+Rn4fB1wg9L/ZAY9yv1bKL
>> dl7xVMRDt3+XtDzuPiGvRF40ik4cpgrBddaWuHkgOA/wCBOPCvmEHh1muYoWi9zq
>> 3wR1Pitkik4=
>> =KbuH
>> -----END PGP SIGNATURE-----
>> _______________________________________________
>> Madrid mailing list
>> Madrid at lists.es.python.org
>> https://lists.es.python.org/listinfo/madrid
>>
>


More information about the Madrid mailing list