Mise à jour Linux 6.2 exFAT pour améliorer les performances lors de la création de fichiers et de répertoires

Mise à jour Linux 6.2 exFAT pour améliorer les performances lors de la création de fichiers et de répertoires

Linux 6.2 exFAT

Le système de fichiers exFAT est sur le point de devenir plus rapide dans Linux 6.2, du moins lors de la création de fichiers et de répertoires, avec une amélioration des performances particulièrement visible sur les processeurs bas de gamme.

Microsoft a publié la spécification exFAT et annoncé la prise en charge de Linux en août 2019, qui a été suivie d’une nouvelle implémentation exFAT dans Linux 5.7 (juin 2020) de Samsung. Mais les gens travaillent toujours sur l’amélioration de la prise en charge exFAT Linux, et Yuezhang Mo, un ingénieur chez Sony, a engagé un ensemble de correctifs pour Linux 6.2 qui réduit la traversée répétée des entrées de répertoire pour améliorer les performances d’exFAT :

Après avoir traversé toutes les entrées de répertoire, indiquez l’entrée de répertoire vide, qu’il y ait ou non suffisamment d’entrées de répertoire vides.

Après ce commit, indiquez les entrées de répertoire vides comme ceci :

1. Indiquez les entrées de répertoire supprimées si cela suffit ;
2. Indiquez les entrées de répertoire supprimées et inutilisées qui, à la fin de la chaîne de cluster, sont suffisantes ou non (ajoutez par ce commit);
3. S’il n’y a pas d’entrées de répertoire vides, indiquez les entrées de répertoire vides dans le nouveau cluster (ajoutez par cette validation).

Cela évite la traversée répétée des entrées de répertoire, réduit l’utilisation du processeur et améliore les performances de création de fichiers et de répertoires (en particulier sur les processeurs peu performants).

Yuezhang a testé le correctif sur une plate-forme NXP i.MX6 (carte de développement i.MX6q SABRE Lite) à l’aide d’une carte MicroSD de classe 4 et a trouvé des améliorations de 14,4 % à 57,4 % selon que de nombreux nouveaux fichiers ont été créés à l’aide du code suivant :

Résultats:

Nombre de fichiers Avant de Après Amélioration
1~1000 25.360s 22.168s 14,40%
1001~2000 38.242s 28.72s 33,15%
2001 ~ 3000 49.134s 35.037s 40,23%
3001~4000 62.042s 41.624s 49,05 %
4001~5000 73.629s 46.772s 57,42 %

Donc, fondamentalement, plus le nombre de fichiers créés est élevé, meilleures sont les performances relatives, et cela peut être perceptible par l’utilisateur, car le nouveau correctif permet d’économiser environ 27 secondes lors de la création de 5 000 fichiers sur cette plate-forme spécifique.

Via Phoronix et Neowin. Merci à TLS pour le conseil.