我正在试图找出我的内存在python3中的生成器函数中使用的位置。我尝试了memprof和memory_profiler,但是这两种方法都没有给我关于生成器的信息。
如何确定在生成器函数中分配内存的位置和大小?
发布于 2016-06-27 09:32:19
下面的代码段应该在python3中工作。如果用列表替换生成器函数,则会看到内存分配上的巨大差异。
from memory_profiler import memory_usage
print(f'Memory usage after: {memory_usage()}MB')
def obj_generator(num_objects):
for i in range(num_objects):
new_obj = {
'id' : i,
}
yield new_obj
objects = obj_generator(1_000_000)
print(f'Memory usage before: {memory_usage()}MB')https://stackoverflow.com/questions/31662706
复制相似问题