最近处理数据,有一个地方用的字典储存的,不知道为啥,有个地方的内存占用看不懂啊:

这是第一种:

31 83.4 MiB 0.0 MiB @profile

32 def main():

33 # data_count = taskResultDB.getResult(21, taskResultDB.resultType.FRQ_COUNT)

34 # data_sum = taskResultDB.getResult(21, taskResultDB.resultType.FRQ_SUM)

35 # data_tfidf = taskResultDB.getResult(21, taskResultDB.resultType.TFIDF)

36 # data_tfidf_2 = taskResultDB.getResult(21, taskResultDB.resultType.TFIDF_2)

37 83.4 MiB 0.0 MiB data = taskResultDB.getResult(21)

38

39 '''

40 data_count = taskResultDB.tranDataToDict(

41 data_count)[taskResultDB.resultType.FRQ_COUNT]

42 data_sum = taskResultDB.tranDataToDict(

43 data_sum)[taskResultDB.resultType.FRQ_SUM]

44 data_tfidf = taskResultDB.tranDataToDict(

45 data_tfidf)[taskResultDB.resultType.TFIDF]

46 data_tfidf_2 = taskResultDB.tranDataToDict(

47 data_tfidf_2)[taskResultDB.resultType.TFIDF_2]

48 '''

49 1778.2 MiB 1694.8 MiB datas = taskResultDB.tranDataToDict(data)

50

51 # wordDict = tranToWordDict(data_sum, data_count)

52 1874.5 MiB 96.3 MiB wordDict = tranToWordDict_2(datas)

53

54 # data_count = None

55 # data_sum = None

56 # data_tfidf = None

57 # data_tfidf_2 = None

58 1850.5 MiB -24.0 MiB datas = None

59 1552.3 MiB -298.2 MiB data = None

60 1551.8 MiB -0.5 MiB gc.collect()

61 1551.8 MiB 0.0 MiB return wordDict

第二种就是将注释去掉,注释掉现在的代码

Line # Mem usage Increment Line Contents

================================================

31 83.4 MiB 0.0 MiB @profile

32 def main():

33 83.4 MiB 0.0 MiB data_count = taskResultDB.getResult(21, taskResultDB.resultType.FRQ_COUNT)

34 83.4 MiB 0.0 MiB data_sum = taskResultDB.getResult(21, taskResultDB.resultType.FRQ_SUM)

35 83.4 MiB 0.0 MiB data_tfidf = taskResultDB.getResult(21, taskResultDB.resultType.TFIDF)

36 83.4 MiB 0.0 MiB data_tfidf_2 = taskResultDB.getResult(21, taskResultDB.resultType.TFIDF_2)

37

38 83.4 MiB 0.0 MiB data_count = taskResultDB.tranDataToDict(

39 463.8 MiB 380.3 MiB data_count)[taskResultDB.resultType.FRQ_COUNT]

40 463.8 MiB 0.0 MiB data_sum = taskResultDB.tranDataToDict(

41 560.4 MiB 96.7 MiB data_sum)[taskResultDB.resultType.FRQ_SUM]

42 560.4 MiB 0.0 MiB data_tfidf = taskResultDB.tranDataToDict(

43 659.5 MiB 99.1 MiB data_tfidf)[taskResultDB.resultType.TFIDF]

44 659.5 MiB 0.0 MiB data_tfidf_2 = taskResultDB.tranDataToDict(

45 697.5 MiB 38.0 MiB data_tfidf_2)[taskResultDB.resultType.TFIDF_2]

46

47 713.1 MiB 15.6 MiB wordDict = tranToWordDict(data_sum, data_count)

48

49 712.6 MiB -0.5 MiB data_count = None

50 700.6 MiB -12.0 MiB data_sum = None

51 699.1 MiB -1.5 MiB data_tfidf = None

52 590.9 MiB -108.2 MiB data_tfidf_2 = None

53 546.9 MiB -44.0 MiB gc.collect()

54 546.9 MiB 0.0 MiB return wordDict

data 是获取的一个 ORM 对象,获取数据的

数据是 4 部分,sun,count,tfidf,tfidf_2,转存出的 dict 的结构是:

{

type:{

"word":data

}

}

type 只有下面的四种...

就是一个嵌套字典,只不过第二个是分开转换的.

可以理解为

data_count + data_sum + data_tfidf + data_tfidf_2 = data

但是根据信息能看出,输出的 data 字典占用的空间远远大于前几个的和,这是为什么呢

哦,还有一个信息就是 count,sum,tfidf,tfidf_2 的内容除了 value 不一样以外,key 是一样的,和这个有关系么?

python 用的我好想用 C++重写......几十万条瞬间一个 G 没了.....前段时间后台程序自己关了,连 log 里都没有信息,就像断点一样.....盯着俩消失才知道是内存消耗没了....

python 字典操作 内存占用_关于 python 的 dict 的内存占用问题....相关推荐

  1. python字典的存储结构_解决python字典结构内存暴涨问题

    背景:当读取一个key value数据的时候,python的字典结构会造成内存使用扩10倍左右,无可容忍.此文解决这个问题 数据:word2vec训练的结果,word对应400维的词向量.词表共1.6 ...

  2. python字典按键值排序_在Python中按键或值按升序和降序对字典排序

    python字典按键值排序 Problem Statement: Write a Python program to sort (ascending and descending) a diction ...

  3. python字典获取关联值_【Python实战12】使用字典关联数据

    现在我的手里有了新的一组数据,数据内容如下: james.txt: James Lee,2002-3-14,2-34,3:21,2.34,2.45,3.01,2:01,2:01,3:10,2-22,2 ...

  4. python字典有什么用_在Python中使用范围作为字典键,我有什么选...

    我不确定这是否是你想要的,但dict.get可能是答案: >>> ub_tries = 20 >>> tries_dict = {1:'first', 2:'sec ...

  5. python字典排序并输出_对Python的字典进行排序

    我们知道Python的内置dictionary数据类型是无序的,通过key来获取对应的value.可是有时我们需要对dictionary中 的item进行排序输出,可能根据key,也可能根据value ...

  6. python字典是什么数据结构_数据结构-Python 字典

    字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示 d= ...

  7. python字典相同键合并_在Python中用相同的键合并两个字典

    这就像一行口述理解一样简单.在>>> {k : {d1[k] : d2[k]} for k in d1.keys() & d2.keys()} { "key_2&q ...

  8. python字典的遍历方法_遍历python字典几种方法

    aDict = {'key1':'value1', 'key2':'value2', 'key3':'value3'} print '-----------dict-------------' for ...

  9. python字典由什么组成_在Python中,将由关键字对组成的列表添加到字典中最简单的方法是什么?...

    试试这个:data = [] with open('names.dat') as database: for line in database: if line.strip(): # skip bla ...

  10. python字典输入学生信息_用Python创建一个学生字典并可以查询其中信息

    展开全部 你可以试试这个---------------------------------------------------------- # -*- coding:UTF-8 -*- studen ...

最新文章

  1. 关于.h .cpp和inline的讨论
  2. 9个杰出的免费 WordPress 主题
  3. linux下开放端口
  4. matlab cell转double_MATLAB处理数据,掌握这7个小技巧就够了
  5. 语音信号处理之(一)动态时间规整(DTW)
  6. C#制作Windows service服务系列二:演示一个定期执行的windows服务及调试(windows service)(转载)...
  7. 4G通信技术LTE介绍
  8. python基础安装第三方(十三)
  9. HDU-2191-悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(dp)
  10. 程序员如何自制酒店 Wi-Fi?
  11. 【原生JS】web原生文字轮播效果
  12. wxpython网站_wxpython学习笔记
  13. 现场打分实时展示系统-Web版(英文名:WebShow)使用疑难问题汇编
  14. easyui输入框模糊查询
  15. injectcheck php_php简单实现sql防注入的方法
  16. 银联POS工作密钥生成
  17. php生成mp4文件,PHP实现将视频转成MP4并获取视频预览图的方法
  18. 分享一个微信扫码连wifi项目
  19. 台式计算机功率图片,【图片】台式机电源别随便买!教你如何选择合适功率的电脑电源!_电脑吧_百度贴吧...
  20. Archlinux笔记本发射热点create_ap

热门文章

  1. Python知识总结(二)
  2. 怎么在html页面和js里判断是否是IE浏览器
  3. redis命令 举例
  4. ubuntu12.04 安装Android Studio笔记
  5. GCT之数学公式(平面解析几何)
  6. PHP字符编码问题之GB2312 VS UTF-8
  7. CLR无法从COM 上下文0x645e18 转换为COM上下文0x645f88...
  8. OJ1069: 向Z同学学习
  9. 信息学奥赛一本通 1053:最大数输出 | OpenJudge NOI 1.4 15
  10. 动态规划 —— 背包问题 —— 背包问题模版