计算一个操作需要多少内存

时间:2015-03-10 18:55:55

标签: python

我如何计算出操作需要多少内存?例如:

memory_start = memory()
reader = csv.reader(file)
memory_end = memory()
memory_of_reader = math.abs(memory_end - memory_start)

1 个答案:

答案 0 :(得分:2)

如果要获取对象的大小,可以使用sys.getsizeof返回以字节为单位的对象大小。

  

sys.getsizeof(object [,default])

     

以字节为单位返回对象的大小。对象可以是任何类型的对象。所有内置对象都将返回正确的结果,但这不一定适用于第三方扩展,因为它是特定于实现的。

     

如果给定,如果对象没有提供检索大小的方法,则将返回default。否则将引发TypeError

     

getsizeof()调用对象的__sizeof__方法,如果对象由垃圾收集器管理,则会增加额外的垃圾收集器开销。

示例:

>>> import sys
>>> a=2
>>> sys.getsizeof(a)
24
>>> a='this is a test'
>>> sys.getsizeof(a)
51

对于更高级的任务,您可以使用memory_profiler作为监视python程序内存使用情况的模块