【发布时间】:2015-07-27 20:31:09
【问题描述】:
我正在尝试找出我的内存在 python 3 中的生成器函数中的使用位置。我尝试了 memprof 和 memory_profiler,但都未能提供有关生成器的信息。
如何确定在生成器函数中分配的内存位置和内存量?
【问题讨论】:
标签: python-3.x memory profiling
我正在尝试找出我的内存在 python 3 中的生成器函数中的使用位置。我尝试了 memprof 和 memory_profiler,但都未能提供有关生成器的信息。
如何确定在生成器函数中分配的内存位置和内存量?
【问题讨论】:
标签: python-3.x memory profiling
下面的 sn-p 应该在 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')
【讨论】: