[問題] 關於 Object serialization 速度

看板Python作者 (轉職成功)時間13年前 (2012/04/28 20:01), 編輯推噓3(308)
留言11則, 6人參與, 最新討論串1/1
Dears, 請問下大家在 serialize python object 到 disk 時有使用過哪些 library 呢 ? 我要處理的資料型態是 dict 包 dict 這種包 n 層的物件,使用 shelve 這個 library 處理起來速度真是令人難以接受,資料量一大到五十幾萬筆時,固定會卡住九至十分鐘 有版友有使用過其它不錯的 library 能快速的的把 python object 寫到檔案裡去的嗎 Thanks -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.36.205.120

04/28 21:07, , 1F
pickle?
04/28 21:07, 1F

04/28 21:09, , 2F
哈,shelve 底層就是用 cPickle 實作的
04/28 21:09, 2F

04/28 21:23, , 3F
這麼多的東西不考慮放db裡嗎?
04/28 21:23, 3F

04/28 21:27, , 4F
實不相暪,我是maintain前人留下來的code 速度一整個糟
04/28 21:27, 4F

04/28 21:28, , 5F
真的找不到的到我要再想想怎麼存到 sqlite 了
04/28 21:28, 5F

04/29 10:01, , 6F
protobuf?
04/29 10:01, 6F

04/29 11:25, , 7F
利用 cPickle + StringIO? 先將資料dump到 StringIO中
04/29 11:25, 7F

04/29 11:26, , 8F
再一次將這些資料 寫到硬碟中,減少硬碟IO次數
04/29 11:26, 8F

04/29 11:26, , 9F
不知道這樣的做法O不OK?
04/29 11:26, 9F

04/29 17:34, , 10F
db 的特性比較偏快讀慢寫 如果可以的話 轉成 struct 再寫出
04/29 17:34, 10F

04/29 17:35, , 11F
純資料 serial 的話試試看 json 或看看有沒有 cjson 可用
04/29 17:35, 11F
文章代碼(AID): #1FczmAeh (Python)