看板 R_Language 關於我們 聯絡資訊
一個33GB的物件, 目標是最快速的塞到硬碟裡, 跟讀回來 1. 之前提過的方案 save/load saveRDS/readRDS fwrite/fread (data.table) write_feather/read_feather (feather) 不過還沒有討論到用multithreads的方式, 多核心壓縮/解壓縮檔案 2. 要看的文件 2.1 官方文件有提到可以用pipe, 直接引用外部程式輸出入 https://stat.ethz.ch/R-manual/R-devel/library/base/html/save.html 2.2 網友說可以做一個漂亮的打包 http://stackoverflow.com/questions/28927750/ 2.3 我個人試了幾個壓縮引擎, 覺得這個網頁數字比較接近我的經驗 http://vbtechsupport.com/1614/ 3. 數據與結論 先說結論, pigz, 8線 大概是最好的結果 # 方案1 save/load, 171.9MB save 748s load 207s # 方案2 saveRDS/readRDS, 171.9MB saveRDS 750s readRDS 207s # 方案3 mySaveRDS/myReadRDS(pigz, 8c), 182.6MB mySaveRDS 86s #8核寫入沒錯 myReadRDS 207s #演算法的關係只會用4核, #http://serverfault.com/questions/270814/ # 方案4 mySaveRDS/myReadRDS(pbzip2, 8c), 106.7MB mySaveRDS 518s #8核寫入沒錯..可是就是很慢 myReadRDS 136s #演算法可以8核分開解壓..但是就是很慢 #可以參考2.3的連結, 感覺大概就是那樣 4. 附註 CentOS6 沒有平行xz, xz版本只有到4.99 xz, pxz都一樣沒有平行選項 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.240.246.119 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1490792066.A.6F2.html ※ 編輯: memphis (111.240.246.119), 03/29/2017 20:57:48
celestialgod: 附上我之前測的 https://pastebin.com/jYn3AuHF 03/29 21:27
cywhale: 實測推~~ 感謝分享~~ 03/30 17:16