<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
</head>
<body dir="ltr" bgcolor="#ffffff" text="#000000">
Hasanat Kazmi wrote:
<blockquote
 cite="mid:84874e770909071556k1d6da210xa2a2e3ded1cc7b86@mail.gmail.com"
 type="cite">Hi,
  <div>I am student at LUMS SSE (<a moz-do-not-send="true"
 href="http://cs.lums.edu.pk">http://cs.lums.edu.pk</a>) and an active
RSync user.</div>
  <div>Just few days ago, Google wrote about Courgette*: an algorithm
which is specially written for syncing executables. By using Courgette,
Google made diff size 1/10th of previous techniques used.</div>
  <div>I was wondering if this (or something on same lines) can be used
to optimize RSync? I am senior and have to do a project. I am thinking
to implement this in RSync. I need input from developers. What do you
guys think?</div>
  <div><br>
  </div>
  <div>*<a moz-do-not-send="true"
 href="http://dev.chromium.org/developers/design-documents/software-updates-courgette">http://dev.chromium.org/developers/design-documents/software-updates-courgette</a></div>
  <div><br>
  </div>
  <div>Hasanat Kazmi</div>
  <div><br>
  </div>
</blockquote>
Hi Hasanat,<br>
<br>
Like you said in the subject, this is an optimization. A format
specific optimization. In other words, it uses a known property of the
file being synchronized in order to make the diff size smaller. If you
were to try to use the courgette pre-processing on something which is
not an executable, you would have gotten significantly worse results
than merely running rsync.<br>
<br>
At the moment, for better or for worse, rsync does not do format
specific optimizations. As long as that is the case, rsync cannot be
optimized using this algorithm.<br>
<br>
Even if we (and by "we", I mean Wayne, or anyone else brabe enough to
pick this task up) were to implement such a functionality, I can think
of quite a few things that would have a lot more to gain than
executables. In particular, something that would uncompress both source
and destination, and apply the rsync algorithm to both files, and then
make sure the recompression of the target produces the exact same
result would, IMHO, be much more useful than the change you are
suggesting.<br>
<br>
Shachar<br>
<br>
<pre class="moz-signature" cols="72">-- 
Shachar Shemesh
Lingnu Open Source Consulting Ltd.
<a class="moz-txt-link-freetext" href="http://www.lingnu.com">http://www.lingnu.com</a>
</pre>
</body>
</html>