[問題] linux下掃瞄系統檔案的方式與效能
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
linux, gcc, uclib in embedded
問題(Question):
我的程式有個功能,需要在特定目錄下掃瞄該目錄下所有資料夾與檔案,將其存成cache
目錄深度與廣度不定,檔案數量約20~40K個。
目前試過用scandir或是ftw去走完整個檔案樹,兩者效能差不多不過在目標板上
需要花上長達5~10分鐘。
目前想要針對這段功能去提升效能,有幾個方向,不過感覺都沒辦法有效提升。
1.將其功能實做在kernel space,減少system call中user space與kernel space交換
資料的時間。
這個方向應該是可以確定提升部份效能,但是提升幅度可能極其有限。
2.直接針對檔案系統格式下手,fat去讀它的檔案總表(似乎是檔案配置表?)取得檔案路徑
與名稱。
這方向,以FAT來說似乎可以大幅提升速率,但不確定是否可行,還在研究時作方法階段
,且這方向需要針對不同檔案系統做,ntfs部分又似乎無法用這個方式。
不知道板上有沒有人有類似經驗可以分享,謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 42.75.252.247
→
08/01 01:06, , 1F
08/01 01:06, 1F
→
08/01 01:14, , 2F
08/01 01:14, 2F
→
08/01 01:14, , 3F
08/01 01:14, 3F
→
08/01 01:20, , 4F
08/01 01:20, 4F
→
08/01 01:23, , 5F
08/01 01:23, 5F
→
08/01 01:24, , 6F
08/01 01:24, 6F
→
08/01 01:25, , 7F
08/01 01:25, 7F
→
08/01 01:26, , 8F
08/01 01:26, 8F
→
08/01 01:28, , 9F
08/01 01:28, 9F
→
08/01 01:31, , 10F
08/01 01:31, 10F
推
08/01 01:56, , 11F
08/01 01:56, 11F
→
08/03 13:30, , 12F
08/03 13:30, 12F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章