[問題] 快速讀檔存取大量資料的方式?
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
N/A
問題(Question):
接手別人的code, 想解決讀檔存取資料速度過慢的問題
對像是約40萬筆資料的純文字檔
內容有分段, 部份不重要
主要的段落每一行是三或四個字串
ex: AAAA BBBB CCC (DD)
資料量超過35萬行
目前讀取的方式是開檔後對各行getline,再
1. 透過stringstream來parsing該line的字串並填入Structure後,
2. 以vector<Structure>.push_back入(該Structure)
主要bottleneck即分別在於以上兩個動作
總耗費時間約超過25秒
不知道有更快的方法來取得結構化的資料以利後續使用嗎?
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.40.146
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1461311150.A.C50.html
→
04/22 15:51, , 1F
04/22 15:51, 1F
→
04/22 15:52, , 2F
04/22 15:52, 2F
→
04/22 15:57, , 3F
04/22 15:57, 3F
推
04/22 15:57, , 4F
04/22 15:57, 4F
→
04/22 15:58, , 5F
04/22 15:58, 5F
→
04/22 15:59, , 6F
04/22 15:59, 6F
→
04/22 16:12, , 7F
04/22 16:12, 7F
推
04/22 18:53, , 8F
04/22 18:53, 8F
推
04/24 12:48, , 9F
04/24 12:48, 9F
→
04/24 12:48, , 10F
04/24 12:48, 10F
→
04/24 12:48, , 11F
04/24 12:48, 11F
→
04/26 00:24, , 12F
04/26 00:24, 12F