[讨论] C语言最快读档写法

楼主: nz22556 (出门遇到鬼)   2014-12-14 16:57:27
各位大神大家好
小弟最近在研究C语言的读档
因为我的档案不小几百M到1G都有可能
我使用的方法是getline以后将资料切割push到vector里面
但是这样做读档速度会非常久
想知道有没有比较快的实作方式
谢谢大家
作者: diabloevagto (wi)   2014-12-14 17:01:00
mmap?
作者: fireslayer (fireslayer)   2014-12-14 18:09:00
Vector 先resize看看
作者: 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吧...
作者: ggglassese (镜)   2014-12-14 21:43:00
linux? mmap
作者: Caesar08 (Caesar)   2014-12-14 21:50:00
C语言?vector?
作者: LiloHuang (十年一刻)   2014-12-14 22:22:00
把资料都摆进去 RAM disk,只有 1GB 的资料其实不大...亦可先把资料全部读到 memory,用 sstream + getlinemmap 也可以试试看,多数硬盘循序读取的性能都不算差
作者: ACMANIAC (請肥宅救救肥宅)   2014-12-15 02:10:00
getline、push、vector... 怎么看都是 C++
作者: andyyao (Andy_Yao)   2014-12-15 11:58:00
mmap + 1
作者: m80126colin (许胖)   2014-12-15 17:19:00
fgets
作者: Killercat (杀人猫™)   2014-12-16 13:26:00
mmap, 不要烦恼快取这种事情,交给系统烦恼吧
作者: tubbysong (song)   2014-12-23 02:45:00
buff越小越慢,get line 其实一次读一字,指定大小最快

Links booklink

Contact Us: admin [ a t ] ucptt.com