專案中有需求,要持續寫檔案到固態硬碟,大概是隔一秒鐘寫100MB的檔案。
我用的是C語言,寫入就是普通的fopen fwrite操作。
一開始寫十幾次速度很穩定,就花費300ms。但是之后就會出現寫入時間1000+ms甚至10000+ms的情況,甚至fopen會失敗。
這是ssd的問題嗎,還是fwrite的問題?
想請教一下各位大佬有沒有遇到類似情況,或者有沒有思考方向給予我支持。謝謝
uj5u.com熱心網友回復:
在同一個檔案夾下,不要存放太多的檔案!我們每次創建一個檔案FATFS系統都要進行掃描有沒有這個檔案,沒有就創建,隨著新建檔案的增多會導致掃描的時間變長,導致檔案建立效率降低,時間變長。當然也可能有其他原因uj5u.com熱心網友回復:
fopen第二個引數里有b嗎?uj5u.com熱心網友回復:
現在的SSD普遍使用TLC甚至QLC,芯片的實際寫入性能是很低的(比機械硬碟還低),廠商吹噓的性能指標實際是靠里面的SLC快取帶起來的,所以持續寫入大量資料掉速是很正常的uj5u.com熱心網友回復:
學到了
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/250883.html
標籤:C語言
上一篇:小白,求教
下一篇:Qt怎樣在主視窗自動彈出子視窗
