11 lines
666 B
Text
11 lines
666 B
Text
Bsdiff and bspatch are tools for building and applying patches to binary
|
|
files. By using suffix sorting (specifically, Larsson and Sadakane's
|
|
qsufsort) and taking advantage of how executable files change, bsdiff
|
|
routinely produces binary patches 50-80% smaller than those produced by
|
|
Xdelta, and 15% smaller than those produced by .RTPatch (a $2750/seat
|
|
commercial patch tool).
|
|
|
|
If n is the size of the old file and m is the size of the new file, bsdiff
|
|
runs in O((n+m) log n) time; on a 200MHz Pentium Pro, building a binary
|
|
patch for a 4MB file takes about 90 seconds. bspatch runs in O(n+m) time;
|
|
on the same machine, applying that patch takes about two seconds.
|