relan / exfat

Free exFAT file system implementation
GNU General Public License v2.0
779 stars 176 forks source link

concurrent reads of the same file are slow #181

Open tmhannes opened 2 years ago

tmhannes commented 2 years ago

When two processes are doing sequential reads at different positions in the same file, "mount.exfat' uses a lot of CPU time and throughput is much lower than might be expected.

On my test system with an i7 CPU and an external SSD:

I think that this happens because every second read takes this code path in exfat_advance_cluster and then walks over all clusters from the beginning of the file.