最近在在处理 XML 文件,一个就十几个 G ,很容易爆内存。我是用的 generator 爬取 XML 的,按理说不应该每一步之后,自动清理 element 的内存,内存中每次只保存一个 element 吗?于是联想到一个问题
for i in range(10**20): s = i + 10
range 函数本身就是生成器,为什么做上面的计算,内存占用就几乎不会变动,但是如果改成下面的代码:
for i in range(10**20): print(i)
内存很快就爆了 想请教大佬们,这二者有什么区别呢?谢谢大家!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.