If you're a Google Chrome user on Windows, then you are probably used to receiving silent and continuous updates to the browser as they become available – without your express consent. Controversial issues aside, one problem with this methodology which Google claims produces the best results, is that sometimes updates can be a bit large and thus need to be deployed less often to avoid slowing computers down.
So, instead of pushing out a full new browser binary during every update, the company had been using the bsdiff algorithm to generate the difference between the old and new version so that the browser can be updated with only the changed code. Google wasn’t entirely happy with the results, however. Looking to improve things, the search giant’s open-source Chromium project has announced a new differential compression algorithm called Courgette that reduces the size of updates even more.
The developers describe the details of the procedure here if you care to look at them, but the end result is pretty impressive. As an example Google says that for a recent Chrome dev-channel update the full update was 10.4MB, the bsdiff update was 704.5 KB and Courgette update was only 78 KB.
Use of the new algorithm will allow Google to provide smaller, faster updates for its browser and thereby significantly reduce server and network workload. From a security standpoint, this also results in a narrower window of vulnerability for Chorme. Since Courgette is being released as open source, it would be interesting to see others taking advantage of it to make distributing updates easier.