Subject: bug#31862: 26.1; [feature request] Improve copying over a network connection in dired

From: Christoph Michelbach <[email-masked]>
Date: Sat, 16 Jun 2018 20:23:26 +0200

I noticed that copying many files via dired takes a lot of time when it's done
over a network connection. This seems to be because every single file is
compressed and then transmitted in sequence.

To illustrate the problem: Create files on a server using these commands:

mkdir /tmp/dir
cd /tmp/dir
dd if=/dev/urandom bs=1K count=10000 of=bigFile
mkdir smallFiles
cd smallFiles
for i in {0..9999}; do dd if=/dev/urandom bs=1K count=1 of="smallFile""$i"; done

Then copy the files over to your local machine using dired.

Copying the big file took 5 seconds (including user interaction) via my network
connection. Copying the small files with the same amount of data took almost 20
minutes.

Can't you simply compress and transfer several small files at once (up to some
limit so the server doesn't run out of RAM)?

Of course copying small files takes longer than copying a big one of the same
size as the small ones combined but this disparity is just way out of
proportion.