PatchBreeze vs traditional compression
To evaluate the performance of
PatchBreeze when moving between two versions of software, we use 5 pairs of particular software. In the Table we list for each of these pairs the original size of the new version, the ZIP compressed size of the new version, and the size of patch produced by
PatchBreeze.
These test file sets include only the files that have been updated between two versions of software.
PatchBreeze perfomance compared to ZIP compression
| Software |
Version |
Original uncompressed size of the new version, bytes |
New version size compressed by ZIP, bytes |
Size of patch produced by PatchBreeze, bytes |
ZIP/PatchBreeze compression ratio |
| Unreal Tournament 2004, 65 files |
3186
->
3323 |
29 596 164 |
9 525 671 |
2 111 813 |
4.51 |
| Far Cry, 20 files |
1.00
->
1.1 |
15 577 088 |
7 001 329 |
1 924 576 |
3.63 |
| Neverwinter Nights, 22 files |
1.18
->
1.29 |
131 613 149 |
30 852 185 |
5 848 350 |
5.27 |
| Nero Burning Rom, 30 files |
5.0.2.4
->
5.0.4.8 |
7 304 505 |
2 916 644 |
658 929 |
4.42 |
| EVE Online, 39 files |
3582
->
3900 |
1 243 019 630 |
704 691 734 |
116 348 104 |
6.05 |
PatchBreeze performance on big files
And what about really huge files? In the table below we list the old file size, the new file size, the size of patch produced by
PatchBreeze Pro and the time it takes to produce a patch. All patches were built on Athlon 64 3800+ machine with 1GB of RAM.
PatchBreeze perfomance on big files
| Old and new file name |
Old file size, bytes |
New file size, bytes |
New file size compressed by ZIP, bytes |
Size of patch produced by PatchBreeze, bytes |
Time taken to produce the patch, h:m:s |
kernel-2.4.26.tar
->
kernel-2.6.7.tar |
163 577 856 |
197 888 000 |
43 969 143 |
16 078 601 |
00:02:13 |
kernel-2.6.7.tar
->
kernel-2.6.8.tar |
197 888 000 |
200 847 360 |
44 647 244 |
1 917 137 |
00:00:32 |
gcc-3.3.4.tar
->
gcc-3.4.0.tar |
152 770 560 |
191 467 520 |
35 980 250 |
9 188 459 |
00:01:27 |
| Huge .MDB database |
587 005 952 |
703 916 032 |
72 463 653 |
10 862 188 |
00:06:49 |
Game "Oblivion"
Original version
->
Addon "Shivering Isles"
File Oblivion.esm |
247 424 408 |
277 489 432 |
212 989 440 |
24 483 036 |
00:02:58 |
Some other facts about PatchBreeze:
A
PatchBreeze generated update doesn't create any temporary files on disk during its work.
The footprint of executable update installation stub of a
PatchBreeze update is as small as 139 KB.
If the backup option was used during the creation of a patch, then at the time of the patch application a batch script is created, which can be run to undo the installation of that particular patch completely.
*
PatchBreeze generated updates correctly support patching, deleting and adding files that are currently in use. After the patching is finished, the user is asked to reboot to finish the installation of the update. It also will not be allowed to apply the same patch again until reboot, if some files are pending for rename.
*
A
PatchBreeze generated update automatically registers and unregisters all required ActiveX controls and COM DLLs. They are correctly registered and unregistered when needed during the updating process (even if your update is multiversion/cumulative), even in the case when the file is currently in use.
*
* - PatchBreeze Pro feature only