There is a bug in KDE's bug tracker that is almost as old as some of our
contributors: bug 342056,
"Ridiculously slow file copy (multiple small files)", reported by Alexander
Nestorov back in 2014. The report is blunt: copying a 15 GB folder of roughly 3
million small files took 5 to 10 hours in KDE, versus about 20 minutes with
rsync. One commenter summed up the mood:
// The batch command runs synchronously in the worker and is not killable mid-flight, so reserve
// it for a local, responsive destination. Skip FAT/NTFS, whose name/symlink quirks the per-file
// path handles.
That list was already being built by the copyJob to have initially the total size to copy, then the files are sent in batch of 512 files, might be tweaked to account for total size.
The worker here is already the backend/protocol implementation, as opposed to the job/event-loop/application calling it.
All is there to see:
Still lacks review, a goal of my blog post was to gather some reviewer attention.