楼主:
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 其实一次读一字,指定大小最快