python pickle文件大小_关于性能:如何减少在python中加载pickle文件所花费的时间...

我用python创建了一个字典,并将其放入pickle中。它的大小达到了300MB。现在,我想装同样的泡菜。

output = open('myfile.pkl', 'rb')

mydict = pickle.load(output)

装这个泡菜大约需要15秒钟。我该如何减少这一时间?

硬件规格:Ubuntu 14.04,4GB RAM

下面的代码显示了使用json、pickle和cpickle转储或加载文件所需的时间。

转储后,文件大小将在300MB左右。

import json, pickle, cPickle

import os, timeit

import json

mydict= {all values to be added}

def dump_json():

output = open('myfile1.json', 'wb')

json.dump(mydict, output)

output.close()

def dump_pickle():

output = open('myfile2.pkl', 'wb')

pickle.dump(mydict, output,protocol=cPickle.HIGHEST_PROTOCOL)

output.close()

def dump_cpickle():

output = open('myfile3.pkl', 'wb')

cPickle.dump(mydict, output,protocol=cPickle.HIGHEST_PROTOCOL)

output.close()

def load_json():

output = open('myfile1.json', 'rb')

mydict = json.load(output)

output.close()

def load_pickle():

output = open('myfile2.pkl', 'rb')

mydict = pickle.load(output)

output.close()

def load_cpickle():

output = open('myfile3.pkl', 'rb')

mydict = pickle.load(output)

output.close()

if __name__ == '__main__':

print"Json dump:"

t = timeit.Timer(stmt="pickle_wr.dump_json()", setup="import pickle_wr")

print t.timeit(1),'

'

print"Pickle dump:"

t = timeit.Timer(stmt="pickle_wr.dump_pickle()", setup="import pickle_wr")

print t.timeit(1),'

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值