[問題] 讀大量內容檔案,怎麼讀比較快

作者: hfuman   2014-06-25 14:47:36
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Microsoft Visual Studio .NET 2010 C++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
no
問題(Question):
有無其他寫法,使讀檔案比較快?
餵入的資料(Input):
CSV檔案(內容由龐大的數值構成)
檔案內容如下:
作者: pcyu16 (._.?)   2014-06-25 14:56:00
弄塊buffer整個讀 程式內再自己切
作者: RealJack   2014-06-25 15:07:00
因為你讀的是字串還要parsing,可以考慮序列化
作者: a27417332 (等號卡比)   2014-06-25 17:05:00
直接用API的mapped file?
作者: RealJack   2014-06-25 18:33:00
用序列化差更多喔,讀文字檔的點座標地圖要一分鐘以上,改成二進制檔案不用一秒 <= 我以前有試過一種做法是讀好文字檔後,把array的記憶體資料放進另一個檔案,下次讀取直接把此檔案存回array
作者: EdisonX (卡卡獸)   2014-06-25 22:39:00
我的做法是用 fread , 一次讀 30MB (可調) 進記憶體再切用二進位檔真的是最快就是了。
作者: longlongint (華哥爾)   2014-06-29 10:06:00
Release version直接快五倍
作者: Killercat (殺人貓™)   2014-06-29 12:31:00
parse好存起來 記錄原始檔案hash當hash相等的時候就不重新parse這種做法其實也是一種compile的過程

Links booklink

Contact Us: admin [ a t ] ucptt.com