in search of ponies
December 4th, 2010 by rstrong
Most of this last week I worked on backporting app update tests to 1.9.2 but there was one significant landing (Bug 570058). When updating with a partial update the files created when patching will be allocated before they are written to prevent fragmentation. This is done using platform specific API’s so the files have minimal fragmentation whenever possible.
To verify this with nightly builds, I started off a couple of days ago after defragmenting my hard drive and measured the fragmentation after applying a nightly partial update. The two updates previous to Bug 570058 landing had the following fragmentation for a partial update on Win7.
|File||Fragments 2 days prior||Fragments 1 day prior|
With the first update that included the patch from Bug 570058 (the nightly update to the 12/4 build) all of the files listed above were contiguous (e.g. no fragments)… can’t get better than that! There was one new file (libGLESv2.dll 668 KB) that was added (e.g. not patched like the above files) that was in 2 fragments. The next time this file is patched it will likely be contiguous as well. Other new files were contiguous (libEGL.dll 136 KB and the usual .chk files).
I filed Bug 616390 to evaluate whether the cost / reward ratio is worth doing something similar for complete updates / files that are added which is a much smaller issue.
*Edit* I verified that libGLESv2.dll was made contiguous on the next partial update.