|Re: [equinox-dev] p2 repository optimization|
There is already some work done in p2 but it will probably not get into
p2 version 1.0. I will explain the reasons for that later.|
Full Delta optimization works similar as the Jar Delta Optimization except that the full delta algorithm used is a binary delta algorithm working on the byte level. The binary delta algorithm we use is an extension of jbdiff (http://freshmeat.net/projects/jbdiff/) .
The optimization creates deltas between artifacts of different versions. For compressed artifacts (jar/zip) the artifacts will first be decompressed and than the delta generation is performed on the uncompressed artifacts. The client can now choose a delta for download if it has the required ´base´ artifact version ´locally´ available. With this base version and the delta the ´targeted´ artifact version can be recreated.
This delta creation and recreation is time and space intensive and the client should only download a delta in certain circumstances, e.g. low bandwidth connection, expansive connection, good processing speed and enough memory of client machine. The current p2 DownloadManager will probably not be able to reach a decision on what the best download strategy could be.
Janet Dmitrovich wrote: