Alex Martelli wrote: > matt <[EMAIL PROTECTED]> wrote: > > > Perhaps you could extend Valgrind (http://www.valgrind.org) so it works > > with python C extensions? (x86 only) > > Alas, if it's x86 only I won't even look into the task (which does sound > quite daunting as the way to solve the apparently-elementary question > "how much virtual memory is this process using right now?"...!), since I > definitely cannot drop support for all PPC-based Macs (nor would I WANT > to, since they're my favourite platform anyway).
Valgrind actually runs on PPC (32 only?) and amd64, but I don't think that's the way to go for this problem. Here's a really screwy thought that I think should be portable to all Unixes which have dynamic linking. LD_PRELOAD. You can create your own version of malloc (and friends) and free. You intercept each call to malloc and free (by making use of LD_PRELOAD), keep track of the info (pointers and size) and pass the call along to the real malloc/free. You then have all information you should need. It increases the scope of the problem, but I think it makes it soluble and somewhat cross-platform. Using LD_PRELOAD, requires the app be dynamically linked which shouldn't be too big of a deal. If you are using C++, you can hook into new/delete directly. n -- http://mail.python.org/mailman/listinfo/python-list