作者:
nz22556 (出門遇到鬼)
2014-12-14 16:57:27各位大神大家好
小弟最近在研究C語言的讀檔
因為我的檔案不小幾百M到1G都有可能
我使用的方法是getline以後將資料切割push到vector裡面
但是這樣做讀檔速度會非常久
想知道有沒有比較快的實作方式
謝謝大家
作者:
ZanFu5566 (仁甫56 優質56 清新56)
2014-12-14 18:18:00久是多久?
作者:
kwpn (ITSST)
2014-12-14 18:25:00先reserve吧? 讀檔速度會非常久是跟什麼比?
作者: pico2k (風月) 2014-12-14 21:43:00
改用SSD吧...
作者:
Caesar08 (Caesar)
2014-12-14 21:50:00C語言?vector?
作者: LiloHuang (十年一刻) 2014-12-14 22:22:00
把資料都擺進去 RAM disk,只有 1GB 的資料其實不大...亦可先把資料全部讀到 memory,用 sstream + getlinemmap 也可以試試看,多數硬碟循序讀取的性能都不算差
作者:
ACMANIAC (請肥宅救救肥宅)
2014-12-15 02:10:00getline、push、vector... 怎麼看都是 C++
作者:
andyyao (Andy_Yao)
2014-12-15 11:58:00mmap + 1
作者: tubbysong (song) 2014-12-23 02:45:00
buff越小越慢,get line 其實一次讀一字,指定大小最快