TODO hardlink performance optimizations

Wayne Davison wayned at
Sun Jan 4 18:51:12 GMT 2004

On Sun, Jan 04, 2004 at 06:35:03AM -0600, John Van Essen wrote:
> The sender, receiver, and generator each have a full copy of the file
> list (each file's entry uses 100 bytes on average).

On systems with copy-on-write forking, the file list memory is shared
between the receiver and the generator, at least for a while.  The bad
thing is that the generator process twiddles the mode value of every
directory that goes by, so this shared memory slowly turns into two
copies as the transfer progresses.

I've just checked in a change to generator.c that avoids the twiddling
of the shared memory value, and thus the memory usage on a system that
has copy-on-write forking should be cut in half on the receiving side.


More information about the rsync mailing list