3 ms·
Versioning systems do something like this already. Most store old versions of files as diffs against new versions (or this may be reversed); git stores files as
by tbrownaw 16y ago
Versioning systems do something like this already. Most store old versions of files as diffs against new versions (or this may be reversed); git stores files as diffs against similarly sized files of I think similar age (which are most likely older/newer versions of the same file).
There's also a fingerprinting algorithm that's basically to divide your file into chunks based on a fixed short string or rolling-checksum value and then hash each chunk, which can be used to find good candidates for storing as diffs against eachother. Unfortunately I don't recall what name this goes by or where I ran across it, or what system actually uses it.
- adamsmith 16y agoHere's a good overview paper: http://www.usenix.org/event/usenix04/tech/general/full_papers/kulkarni/kulkarni_html/paper.html http://www.usenix.org/event/usenix04/tech/general/full_paper...