@
xrui 我都不想说你, 自己看看代码写的什么鬼样
只爬取前 20 条:
types | # objects | total size
==================================== | =========== | ============
<class 'str | 34273 | 4.89 MB
<class 'dict | 4859 | 2.61 MB
<class 'type | 1402 | 1.42 MB
<class 'code | 9838 | 1.36 MB
<class 'set | 1073 | 508.22 KB
<class 'tuple | 4423 | 289.40 KB
<class 'list | 2457 | 287.18 KB
<class 'weakref | 2903 | 226.80 KB
<class 'wrapper_descriptor | 2383 | 186.17 KB
<class 'builtin_function_or_method | 2607 | 183.30 KB
<class 'abc.ABCMeta | 146 | 145.60 KB
<class 'getset_descriptor | 1873 | 131.70 KB
<class 'int | 4203 | 125.74 KB
<class 'method_descriptor | 1358 | 95.48 KB
function (__init__) | 688 | 91.38 KB
美国队长 3 Captain America: Civil War
蚁人 Ant-Man
钢铁侠 Iron Man
X 战警 X-Men
蜘蛛侠 Spider-Man
我,机器人 I, Robot
终结者 The Terminator
变形金刚 Transformers
我,机器人 I, Robot
终结者 The Terminator
变形金刚 Transformers
我,机器人 I, Robot
终结者 The Terminator
变形金刚 Transformers
我,机器人 I, Robot
终结者 The Terminator
变形金刚 Transformers
我,机器人 I, Robot
终结者 The Terminator
变形金刚 Transformers
types | # objects | total size
==================================== | =========== | ============
<class 'str | 34427 | 5.27 MB
<class 'dict | 4878 | 2.62 MB
<class 'type | 1410 | 1.44 MB
<class 'code | 9866 | 1.36 MB
<class 'set | 1073 | 508.72 KB
<class 'tuple | 4461 | 292.20 KB
<class 'list | 2488 | 291.38 KB
<class 'weakref | 2917 | 227.89 KB
<class 'wrapper_descriptor | 2383 | 186.17 KB
<class 'builtin_function_or_method | 2608 | 183.38 KB
<class 'abc.ABCMeta | 146 | 147.05 KB
<class 'getset_descriptor | 1878 | 132.05 KB
<class 'int | 4216 | 126.14 KB
<class 'method_descriptor | 1358 | 95.48 KB
function (__init__) | 695 | 92.30 KB
爬取 20 条之后 str 的内存占用增加了 0.38M, 与你的描述: 每个网址大概消耗 1M 多内存 存在较大的差异, 需要你提供你的内存占用测试以及结果
计算内存占用的方法:
from pympler import summary
from pympler import muppy
def print_mem():
summarize = summary.summarize(muppy.get_objects())
summary.print_(summarize)
参考文档:
https://pythonhosted.org/Pympler/muppy.html#muppy