我已經基於兩個文件創建了一個虛擬文件系統(非常類似fat)。從硬盤快速讀取
- 第一個文件 - 分配表。
IT賣場有關文件的分配信息(實際上它是不是文件,而是donnt關心它)
每個記錄有以下結構:
- 名稱 - 固定大小(100個字節)。第一個4個字節是字符串長度
- 長度 - 4個字節,文件的總長度
- STARTCLUSTER - 起始簇的4個字節的ID
- EndCluster - 端簇的4個字節的ID
每個條目具有固定大小,我有內存哈希表,這有助於我找到每個條目的位置。
- 第二個文件 - 虛擬光驅
VD基於集羣。每個羣集具有固定大小 - 256個字節。最後4個字節是指向文件鏈中下一個羣集的指針。
當我嘗試讀取所有文件時,問題是非常慢的速度。我怎樣才能提高性能?是否有任何提示快速讀取硬盤驅動器。
例如:大塊閱讀文件是好主意嗎?當我讀取文件的一小部分時,文件被操作系統緩存了嗎?在下一次,我只是從內存中獲取數據,而不是從HD中獲取數據?
那麼我有幾個這樣的問題,我可以得到答案?
你看過內存映射文件嗎? – leppie 2012-07-10 06:06:54
如果塊大小等於給定CPU/OS上的內存頁大小,則可以改進磁盤訪問。 – alexm 2012-07-10 06:27:01
@leppie我的第二個文件非常分散。所以我需要經常隨機尋找閱讀。可以幫助我嗎? – Neir0 2012-07-10 06:54:02