>       Bill, can you point me to some places to peek/poke some code to try
> to expose this a bit more?

David, perhaps your best bet is to fire up IDLE (as in Eric), the
all-Python debugging environment.  I'm also told that the new Visual
Python on Windows is very good, if you like that kind of thing.  If
you want to use GDB, re-compile Python with symbols; that will give
you the ability to make calls on local variables which can give some
good info.

For example, given the PyList "op" that SetItem is on, you could say

    print PyList_Size(op)

and you could see what slot in the list the item is being put into.

I haven't debugged Python like this in several years, but it's
possible to run pdb (the Python version of GDB) and gdb together on
the same process at the same time.

I would definitely use Python 2.1 or 2.2 to look into this; the data
structure manipulation is much improved over 1.5.2.

> The python process currently is using 995 megs of ram and 396 megs of swap,
> but the processor load is well under 1%.

This sounds like a classic "big program with no locality of reference".
I can well believe it.

Bill

Reply via email to