XDelta is a library interface and application program designed to
compute changes between files.  These changes (deltas) may be used to
store and transmit only the changes between files.  XDelta uses a fast,
linear algorithm and performs well on both binary and text files.
XDelta typically outperforms GNU diff in both time and output size, even
for plain text files.  XDelta also includes a simple implementation of
the Rsync algorithm and several advanced features for implementing
RCS-like file-archival.

XDelta is on SourceForge at http://sourceforge.net/projects/xdelta/,
and versions can be downloaded from there.