
项目里遇到这么一行代码如下:
dict_data = eval(str_data) str_data 大小在 3MB 左右,用 memory_profiler 检测到在这一行内存却增加了 50MB 左右,为何?
有没有大佬给个提示
1 BBCCBB 2018-07-24 18:20:02 +08:00 string -> dict, 这还需要解释么? |
2 aice114 2018-07-24 18:25:19 +08:00 via Android 用空间换时间嘛 |
3 wwqgtxx 2018-07-24 18:26:39 +08:00 有什么好奇怪的,数据结构不占用空间的么 |
&nbs; 4 kunluanbudang 2018-07-24 18:49:39 +08:00 via Android 如果了解 dict 的底层实现,几乎可以手动计算出来 |
5 jameslan 2018-07-25 07:11:52 +08:00 via Android @kunluanbudang 单层大 dict 和多层小 dict,内存占用差别还是很大的 |