En Mon, 18 Jun 2007 16:48:36 -0300, filox <[EMAIL PROTECTED]> escribió: > "Brett Hoerner" <[EMAIL PROTECTED]> wrote in message
>> Although I have the feeling you mean "how many bytes does this object >> take in memory" - and I believe the short answer is no. > > is there a long answer? what i want is to find out the number of bytes > the > object takes up in memory (during runtime). since python has a lot of > introspection mechanisms i thought that should be no problem... Consider this: x = "x" * 1000000 x is a string taking roughly 1MB of memory. y = x y is a string taking roughly 1MB of memory *but* it is shared, in fact it is the same object. So you can't add them to get the total memory usage. z = (x,y) z takes just a few bytes: a pointer to x, to y, to its own type, its reference count. The total memory for the three objects is a few bytes more than 1MB. For arbitrary objects, a rough estimate may be its pickle size: len(dumps(x)) == 1000008 len(dumps(y)) == 1000008 len(dumps(z)) == 1000016 -- Gabriel Genellina -- http://mail.python.org/mailman/listinfo/python-list