Jim Kleckner wrote:
> cycles:
>
> I understand from the documentation that types with a finalizer method
> that participate in cycles can't be collected.
>
> What is the best way to go about finding these cycles?
> Googling gives a variety of methods none of which seem terribly
> mainstream for such a common problem.
Put the Python garbage collector into debug mode and find out
what it reports as non-collectable.
Use weak pointers where appropriate to avoid cycles.
The general idea is that pointers back towards the root
of a tree structure should be weak pointers, which will
result in a cycle-free structure. I put that in BeautifulSoup,
and it works quite well.
John Nagle
--
http://mail.python.org/mailman/listinfo/python-list