Delta synchronization
Delta synchronization updates a receiver's data by transferring a representation of changes that can reuse data already available to the receiver.
Rsync illustrates an asymmetric design: the receiver describes blocks of its basis file, while the sender searches its new file for reusable content and emits references plus literals. Fixed-length basis blocks do not restrict the sender to aligned offsets. [1]
Measured example: in the forced-delta subset of 36 controlled local rsync 3.2.7 transfers, a one-byte prefix insertion required one literal byte and reused 262144 bytes with either 512-byte or 4096-byte blocks. An interior insertion broke one block. Smaller blocks reduced literals but increased the reported two-direction protocol sum in that fixture. These are synthetic observations, not throughput estimates. [3]
A delta is meaningful relative to its basis. Reduced literal payload does not establish fewer disk reads, lower CPU cost, durable media writes or a restorable application. Local-path rsync normally selects whole-file mode; file selection and delta transfer are separate choices. [2]