【发布时间】:2013-08-27 20:27:40
【问题描述】:
我正在运行创建大型对象的代码,其中包含多个用户定义的类,然后我必须对其进行序列化以供以后使用。据我所知,只有酸洗才能满足我的要求。我一直在使用 cPickle 来存储它们,但它生成的对象大小约为 40G,来自运行在 500 mb 内存中的代码。序列化的速度不是问题,但对象的大小才是问题。有什么技巧或替代方法可以让泡菜变小吗?
【问题讨论】:
-
你用的是什么pickle协议?
-
协议版本 0。2 会有很大的不同吗?
-
应该会有所不同。不过,我不确定多少钱。
-
我认为协议 2 会有很大的不同,值得一试。将它与压缩与
gzip或bzip2结合使用以产生更大的差异。我会对数值结果感兴趣。 -
从 40 降到 12.2!我阅读的文档似乎不会产生如此大的影响,所以我很惊讶。之前压缩是不够的,但现在可以了。
标签: python serialization pickle