Why are patches for executables larger than for data files?
A patch is based on the differences between an original version and an updated version of a file. Typically, changes to text and data files (such as Microsoft Access databases) are localized to specific areas of the file. Changing a single record, for example, results in an extremely small patch file since only that one record has changed. However, when an application is recompiled, even though the source code changes may be small, there are a large number of changes made throughout the entire file. This results in a larger individual patch file because each of those changes must be stored in the patch. In some cases, increasing the patch level can reduce the size of a specific patch, at the expense of increased memory and longer build times.