近期,科技圈傳來了一則關(guān)于Linux文件系統(tǒng)優(yōu)化的好消息。索尼公司的工程師Yuezhang Mo再次為Linux內(nèi)核提交了針對exFAT文件系統(tǒng)的補丁,不僅解決了多項性能問題,還帶來了前所未有的刪除效率提升。
exFAT,這一由微軟于2006年推出的文件系統(tǒng),旨在優(yōu)化閃存設(shè)備如U盤和SD卡的性能,同時保持跨平臺兼容性。隨著時間的推移,微軟于2012年推出了64位版本的exFAT,并逐步替代了老舊的FAT32格式。到了2019年,微軟更是宣布Linux內(nèi)核將支持exFAT,進一步推動了其跨平臺的發(fā)展。
Yuezhang Mo工程師對于exFAT在Linux上的性能優(yōu)化并非首次。早在2022年,他就通過優(yōu)化目錄遍歷邏輯,在Linux 6.2內(nèi)核中實現(xiàn)了exFAT性能的顯著提升,性能提升幅度達到了57%,為后續(xù)的優(yōu)化工作奠定了堅實的基礎(chǔ)。
而此次Mo工程師提交的補丁,更是帶來了多方面的改進。他不僅修復(fù)了堆棧隨機損壞、錯誤返回值以及自引用簇導(dǎo)致的死循環(huán)等問題,還移除了大量的冗余代碼,使系統(tǒng)更加精簡和高效。
最引人矚目的改進,莫過于刪除效率的優(yōu)化。在啟用了discard選項后,系統(tǒng)能夠批量釋放閑置的存儲塊,而不是之前的逐簇操作。這一改變使得刪除大文件的速度得到了極大的提升。據(jù)測試顯示,刪除一個80GB的文件,時間從原來的4分46秒(約287秒)縮短至2秒以內(nèi),效率提升了驚人的172倍。
discard選項的引入,原本是為了讓文件系統(tǒng)能夠?qū)崟r通知存儲設(shè)備釋放閑置塊,但逐簇操作的方式卻大大拖累了性能。新補丁通過批量處理連續(xù)的存儲簇,不僅避免了軟鎖死的風(fēng)險,還大大提高了刪除操作的速度。開發(fā)者可以通過Linux內(nèi)核郵件列表查看這一完整補丁的詳細內(nèi)容。
此次優(yōu)化不僅極大地提升了用戶體驗,也為高性能存儲設(shè)備適配exFAT鋪平了道路。隨著越來越多的設(shè)備開始支持exFAT文件系統(tǒng),這一優(yōu)化將為用戶帶來更加流暢和高效的使用體驗。
Mo工程師的這一貢獻也再次證明了開源社區(qū)的力量。通過不斷的技術(shù)創(chuàng)新和優(yōu)化,開源社區(qū)正不斷推動著技術(shù)的發(fā)展和進步,為用戶帶來更加優(yōu)質(zhì)和高效的產(chǎn)品和服務(wù)。