[Python-Dev] cpython: Implement PEP 412: Key-sharing dictionaries (closes #13903)

"Martin v. Löwis" martin at v.loewis.de
Wed Apr 25 20:57:13 CEST 2012


>>> Benchmarks should measure memory usage too, of course.  Sadly that is
>>> not possible in standard cPython.
>>
>> It's actually very easy in standard CPython, using sys.getsizeof.
>>
> Yes, you can query each python object about how big it thinks it is.
> What I'm speaking of is more like:
> start_allocs, start_mem = allocator.get_current()
> allocator.reset_limits()
> run_complicated_tests()
>
> end_allocs, end_mem = allocator.get=current()

This is easy in a debug build, using sys.getobjects(). In a release 
build, you can use pympler:

start = pympler.muppy.get_size(pympler.muppy.get_objects())
run_complicated_tests()
end = pympler.muppy.get_size(pympler.muppy.get_objects())
print "delta mem: %d" % (end-start)

Regards,
Martin


More information about the Python-Dev mailing list