En Sun, 20 Apr 2008 15:02:37 -0300, Torsten Bronger <[EMAIL PROTECTED]> escribió: > Gabriel Genellina writes: >> En Sun, 20 Apr 2008 14:43:17 -0300, Christian Heimes <[EMAIL PROTECTED]> >> escribió: >>> Gabriel Genellina schrieb: >>> >>>> Apart from what everyone has already said, consider that >>>> FreqDist may import other modules, store global state, create >>>> other objects... whatever. Pure python code should not have any >>>> memory leaks (if there are, it's a bug in the Python >>>> interpreter). Not-carefully-written C extensions may introduce >>>> memory problems. >>> >>> Pure Python code can cause memory leaks. No, that's not a bug in >>> the interpreter but the fault of the developer. For example code >>> that messes around with stack frames and exception object can >>> cause nasty reference leaks. >> >> Ouch! >> May I assume that code that doesn't use stack frames nor stores >> references to exception objects/tracebacks is safe? > > Circular referencing is no leaking on the C level but in a way it is > memory leaking, too.
The garbage collector will eventually dispose of the cycle, unless you use __del__. Of course it's better if the code itself breaks the cycle when it's done using the objects. The above comment about stack frames and exceptions does not refer to this situation, I presume. -- Gabriel Genellina -- http://mail.python.org/mailman/listinfo/python-list