This reduces the variance (range) of the values when neighbor samples are correlated, enabling a lower bit usage for the same data.
In delta encoded transmission over a network where only a single copy of the file is available at each end of the communication channel, special error control codes are used to detect which parts of the file have changed since its previous version.
Many HTTP (Hypertext Transport Protocol) requests cause the retrieval of slightly modified instances of resources for which the client already has a cache entry.
Research has shown that such modifying updates are frequent, and that the modifications are typically much smaller than the actual entity.
In such cases, HTTP would make more efficient use of network bandwidth if it could transfer a minimal description of the changes, rather than the entire new instance of the resource.
[...] We believe that it might be possible to support rsync using the "instance manipulation" framework described later in this document, but this has not been worked out in any detail.
The suggested rsync-based framework was implemented in the rproxy system as a pair of HTTP proxies.
In common use cases, where source or data files are changed incrementally between commits, this can result in significant space savings.
The repack operation is typically performed as part of the " git gc"[5] process, which is triggered automatically when the numbers of loose objects or pack files exceed configured thresholds.
[6] One general format for directed delta encoding is VCDIFF, described in RFC 3284.
For executables that contain many changes in pointer addresses, it performs better than VCDIFF-type "copy and literal" encodings.
The intent is to find a way to generate a small diff without needing to parse assembly code (as in Google's Courgette).
Bsdiff achieves this by allowing "copy" matches with errors, which are then corrected using an extra "add" array of bytewise differences.
Since this array is mostly either zero or repeated values for offset changes, it takes up little space after compression.
The deltarpm feature of the RPM Package Manager is based on a heavily modified bsdiff that can use a hash table for matching.
[11] FreeBSD takes many of Google's compatible changes, mainly a vulnerability fix and a switch to the faster divsufsort suffix-sorting routine.
Among other efficiency improvements, it uses a sliding window to reduce memory and CPU cost.