开发者

memory size of Python data structure

开发者 https://www.devze.com 2023-01-11 21:23 出处:网络
How do I find out the memory size of a Python data structure? I\'m looking for something like: sizeof({1:\'hello\', 2:\'world\'})

How do I find out the memory size of a Python data structure? I'm looking for something like:

sizeof({1:'hello', 2:'world'})

It is great if it counts every t开发者_开发问答hing recursively. But even a basic non-recursive result helps. Basically I want to get a sense of various implementation options like tuple v.s. list v.s. class in terms of memory footprint. It matters because I'm planning to have millions of object instantiated.

My current dev platform is CPython 2.6.


Have a look at the sys.getsizeof function. According to the documentation, it returns the size of an object in bytes, as given by the object's __sizeof__ method.

As Daniel pointed out in a comment, it's not recursive; it only counts bytes occupied by the object itself, not other objects it refers to. This recipe for a recursive computation is linked to by the Python 3 documentation.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号