[問題] fstream close() 耗時?

看板C_and_CPP (C/C++)作者 (Nuo)時間11年前 (2014/08/11 12:24), 編輯推噓1(105)
留言6則, 1人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) JSONCpp 問題(Question): 使用ofstream時 呼叫close()後產生長久的處理時間 輸出的資料檔案約500M 想請問我輸出玩檔案後,為什麼close會長達數小時之久 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.124.181.41 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1407731094.A.802.html

08/11 14:51, , 1F
是不是卡IO? 這看起來很像是卡IO的樣子
08/11 14:51, 1F

08/11 14:51, , 2F
fstream的close會做flush的動作 卡IO會像你這樣
08/11 14:51, 2F

08/11 14:54, , 3F
最簡單的檢測法就是把他fstream開在/tmp下
08/11 14:54, 3F

08/11 14:55, , 4F
大多數linux/unix的/tmp都是tmpfs, 是ramdisk
08/11 14:55, 4F

08/11 14:55, , 5F
可以有效檢測到底是不是因為卡IO造成的問題
08/11 14:55, 5F

08/11 14:56, , 6F
可以用df看一下 他格式是tmpfs或者shmfs
08/11 14:56, 6F
文章代碼(AID): #1Jw4MMW2 (C_and_CPP)
文章代碼(AID): #1Jw4MMW2 (C_and_CPP)