作者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