> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On
> Behalf Of [email protected]
> Sent: 24. apríl 2012 17:44
> To: [email protected]
> Subject: Re: [Python-Dev] cpython: Implement PEP 412: Key-sharing
> dictionaries (closes #13903)
> 
> > 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()

Print "delta blocks: %d, delta mem: %d"%(end_allocs-start_allocs, 
end_mem-start_mem)
print "peak blocks: %d, peak mem: %d"%allocator.peak()

 
> > Btw, this is of great interest to me at the moment, our Shanghai
> > engineers are screaming at the memory waste incurred by dictionaries.
> > A 10 item dictionary consumes 1/2k on 32 bits, did you know this?
> 
> I did.
> 
> In Python 3.3, this now goes down to 248 bytes (32 bits).
> 
I'm going to experiment with tunable parameters in 2.7 to trade performance for 
memory.  In some applications, memory trumps performance.

K

_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to