I'd like to announce the first release of PySizer, a memory usage profiler for Python code. PySizer was written as part of Google's Summer of Code.
The source, documentation and so on are at http://pysizer.8325.org. The current release is at http://pysizer.8325.org/dist/sizer-0.1.tar.gz. The code is kept in a Subversion repository at http://codespeak.net/svn/user/nick8325/sizer. The idea is to take a snapshot of memory use at some time, and then use the functions of the profiler to find information about it. Features -------- * You can make a snapshot of all reachable objects at a given time, organised as a tree (well, a graph, since there are cycles). * For any given object, you can find out how much space it takes up, what objects it references and so on. With a patched version of Python, you can also find out what stack of function calls created an object, and what objects were created by each stack of calls. * You can collect objects into groups. For example, you can group each object according to the module it appears to come from. Then you can treat each module as a single object. * You can filter objects, find the amount of space used by instances of each type, find objects which appeared from one snapshot to the next, find the biggest objects/types/groups, and so on. Requirements ------------ See http://pysizer.8325.org/INSTALL. The main one is Python 2.4 - I will port it to 2.3 soon. Bugs, suggestions, comments, problems, anything else ---------------------------------------------------- You can contact me at [EMAIL PROTECTED] I would love to know if you find a use for it, too. -- http://mail.python.org/mailman/listinfo/python-list