aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--development/bsdiff/README39
1 files changed, 21 insertions, 18 deletions
diff --git a/development/bsdiff/README b/development/bsdiff/README
index 482944aaced8..33119f056977 100644
--- a/development/bsdiff/README
+++ b/development/bsdiff/README
@@ -1,24 +1,27 @@
bsdiff (binary diff/patch utility)
-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).
+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).
-These programs were originally named bdiff and bpatch, but the large number of
-other programs using those names lead to confusion; I'm not sure if the "bs"
-in refers to "binary software" (because bsdiff produces exceptionally small
-patches for executable files) or "bytewise subtraction" (which is the key to
-how well it performs). Feel free to offer other suggestions.
+These programs were originally named bdiff and bpatch, but
+the large number of other programs using those names lead to
+confusion; I'm not sure if the "bs" in refers to "binary software"
+(because bsdiff produces exceptionally small patches for executable
+files) or "bytewise subtraction" (which is the key to how well it
+performs). Feel free to offer other suggestions.
-bsdiff is quite memory-hungry. It requires max(17*n,9*n+m)+O(1) bytes of
-memory, where n is the size of the old file and m is the size of the new
-file. bspatch requires n+m+O(1) bytes.
+bsdiff is quite memory-hungry. It requires max(17*n,9*n+m)+O(1) bytes
+of memory, where n is the size of the old file and m is the size of
+the new file. bspatch requires n+m+O(1) bytes.
-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.
+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.
-Providing that off_t is defined properly, bsdiff and bspatch support files of
-up to 2^61-1 = 2Ei-1 bytes.
+Providing that off_t is defined properly, bsdiff and bspatch support
+files of up to 2^61-1 = 2Ei-1 bytes.