作者airzone (转职成功)
看板Python
标题[问题] 关於 Object serialization 速度
时间Sat Apr 28 20:01:12 2012
Dears,
请问下大家在 serialize python object 到 disk 时有使用过哪些 library 呢 ?
我要处理的资料型态是 dict 包 dict 这种包 n 层的物件,使用 shelve 这个 library
处理起来速度真是令人难以接受,资料量一大到五十几万笔时,固定会卡住九至十分钟
有版友有使用过其它不错的 library 能快速的的把 python object 写到档案里去的吗
Thanks
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.36.205.120
1F:推 hukhuk:pickle? 04/28 21:07
2F:→ airzone:哈,shelve 底层就是用 cPickle 实作的 04/28 21:09
3F:→ kdjf:这麽多的东西不考虑放db里吗? 04/28 21:23
4F:→ airzone:实不相暪,我是maintain前人留下来的code 速度一整个糟 04/28 21:27
5F:→ airzone:真的找不到的到我要再想想怎麽存到 sqlite 了 04/28 21:28
6F:→ AlanSung:protobuf? 04/29 10:01
7F:推 doghib:利用 cPickle + StringIO? 先将资料dump到 StringIO中 04/29 11:25
8F:→ doghib:再一次将这些资料 写到硬碟中,减少硬碟IO次数 04/29 11:26
9F:→ doghib:不知道这样的做法O不OK? 04/29 11:26
10F:推 retard:db 的特性比较偏快读慢写 如果可以的话 转成 struct 再写出 04/29 17:34
11F:→ retard:纯资料 serial 的话试试看 json 或看看有没有 cjson 可用 04/29 17:35