<dave..mail.com> (Dave) wrote: 8<--------- description of horrible problem --------------
Faced with this, I would: 1 - identify the modules that import gc to separate the sheep from the goats. 2 - do my best to change gc importing goats back to sheep. 3 - amongst the remaining goats, identify the ones that also use threads, (supergoats) and take a long hard look at them. 4 - hope I get lucky. 5 - If no luck, I would change the most complex of the supergoats to use more processes and messaging, to make sheep out of a supergoat, or failing that, a goat and some sheep. 6 - Repeat from 2 until luck strikes. Now the trouble with a simple minded algorithm such as the above is that a sheep could be at the bottom of the trouble if it uses threads. So a module is only a lamb if it uses neither threads nor makes calls into gc... HTH - Hendrik -- http://mail.python.org/mailman/listinfo/python-list