A patch for the open-source exFAT file-system driver for Linux can boost the sequential read performance by about 10% in preliminary tests.
There is a patch queued up into the exFAT driver’s “dev” branch to support multi-cluster for the exfat_get_cluster code. Developer Chi Zhiling of China’s Kylin OS worked on the patch and explained in the commit:
“This patch introduces a count parameter to exfat_get_cluster, which serves as an input parameter for the caller to specify the desired number of clusters, and as an output parameter to store the length of consecutive clusters.
This patch can improve read performance by reducing the number of get_block calls in sequential read scenarios. speacially in small
cluster size.According to my test data, the performance improvement is approximately 10% when read FAT_CHAIN file with 512 bytes of cluster size.
454 MB/s -> 511 MB/s”
With the patch now part of exFAT’s dev branch, it’s possible we will see this exFAT read performance improvement merged for the upcoming Linux 6.20~7.0 merge window. This is just one of several great performance optimizations observed in recent times for this exFAT adaptation for Linux.
