Re: [問題] 讀檔
※ 引述《cplusplus (沒事多聊天~)》之銘言:
: ※ 引述《HerbertF (ff)》之銘言:
: : agree, 如果只是要全部從頭到尾把檔案讀出來, 不是要做特定的
: : 搜尋或操作, 會有比較快的方法嗎? 不就都是整個檔案要走完?
: 如果妳的資料處理時間比較長的話 真的可以考慮用 thread~
: 因為IO動作是OS的責任 當你等待OS在完成IO的時候其實還是可以做點事的...
: 讀1 處理1 讀2 處理2 讀3 處理3 ..... single thread
: 如果有專門處理IO動作的thread IO動作跟處理動作可以overlap 同時進行
: 處理1 處理2 處理3 處理4 ... thread1
: 讀1 讀2 讀3 讀4 讀5 ... thread2
: 基本上如果你算得正確 用這種模式通常會有幫助....當然如果用不好只是徒增負擔而已
基本上就是這個樣子
要知道什麼最耗費時間? 就是I/O動作
當你去存取一個檔案時 絕大部分的時間是在等待磁碟的物理動作
所以如果我們能利用磁碟在作物理動作時,
一邊處理該處理的資料
那效能就會快非常多...
就我寫過的程式來說...光是把寫檔改成multi-thread就快了快10倍的速度
如果是寫檔讀檔的話可能會省去更多的時間
這也是為什麼大家說寫程式不難
但寫出effective的程式卻是很困難的原因了!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.221.148
討論串 (同標題文章)
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章