作者ides13 (juso)
看板Python
标题[问题] ET.iterparse的记忆体使用量
时间Mon Jun 4 18:05:12 2018
请教各位:
https://data.gov.tw/dataset/32500
本国专利技术名词中英对照词库,可以从上面网址下载。档案格式为xml,而且档案很大
,约800mb。
我想把它下载下来,当作电脑中的字典使用。於是写了两组code。
第一组使用ET.iterparse;第二组使用ET.parse。
https://repl.it/@ides13chen/dictionary
书中写说ET.iterparse使用的记忆体量比较小,但是我执行後查了电脑中的记忆体使用
量最後到达700mb,和预期的7mb差很多,是我哪里做错了吗?
另外,run了这两组code後,觉得有点慢。感觉xml格式不适合当字典使用?
如果转成资料库档会比较快吗?可以提供建议吗?谢谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.133.32.131
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1528106717.A.1B4.html
2F:→ st1009: 我这种写法抓一笔之後,会把前一笔释放,占用记忆体应该会 06/04 20:27
3F:→ st1009: 小一点,您可以试看看 06/04 20:28
4F:推 st1009: 我日前有尝试资料库跑大型xml,後来觉得还是直接python跑 06/04 20:31
5F:→ st1009: 会比较快一些,然後如果要建议,我会觉得这类搜寻要优化速 06/04 20:32
6F:→ st1009: *速度 06/04 20:32
7F:→ st1009: 可以尝试预处理资料结构,譬如依照编码弄成一颗二元搜寻树 06/04 20:33
8F:→ ides13: 谢谢你提供资讯,我做不来二元树,看来只能跑xml了。 06/05 06:52