Io
如何知道 io 流每次應該保持打開還是關閉
我有一個程序需要每秒寫入一個文件。
我認為如果我每次打開和關閉文件都會有太多的成本。所以我決定繼續打開文件 io 流。
但我不想依賴我不可靠的預感。
如果我應該在每次額外寫入時保持文件流打開或關閉,我怎樣才能找到更好的方法?
我想檢查 CentOS 環境。
絕對保持開放!關閉它的唯一原因是讓它保持同步,但如果你害怕停電,你可以手動呼叫同步。如果您一直關閉它,則會產生巨大的成本,因為必須刷新緩衝區,並且
write
如果您手動寫入每個塊,則會有更多呼叫。更不用說尋找文件末尾,修改文件系統中的時間戳等等……
你沒有給我們大量的細節,甚至沒有給出你想要用什麼語言來做這件事,所以我的建議是嘗試一下。
編寫兩個程序,一個每秒打開/查找文件結尾/寫入/關閉的程序。編寫另一個程序,它只是打開、寫入、等待一秒鐘、再次寫入、等待一秒鐘,等等。看看其中一個是否適合你。
我懷疑即使是一個 shell 腳本也可以每秒寫一次,但沒有更多細節,我不能肯定地說。