1 |
On Wed, Aug 24, 2011 at 11:48:05AM +0300, Eray Aslan wrote: |
2 |
> On Wed, Aug 24, 2011 at 07:30:11AM +0000, Robin H. Johnson wrote: |
3 |
> > Bandwidth: Along the same lines, rsync will always be able to use less |
4 |
> > bandwidth than Git, because none of the intermediate commits need to be |
5 |
> > transfered. This will be esp. evident as a user tree gets older (the |
6 |
> > amount of mtime/checksum metadata scales linearly with the size of the |
7 |
> > tree, not the age of the tree. |
8 |
> Yes, rsync protocol scales with the project size. |
9 |
> > The actual file content transfered scales linearly with the age of the tree). |
10 |
> (assuming you are talking about git here) |
11 |
> Uhm no? git protocol scales with chageset size. You don't retransfer |
12 |
> already transferred content. So you will be tranferring only content |
13 |
> from the last git pull. |
14 |
No, I'm talking about rsync, not Git. |
15 |
|
16 |
Rsync bandwidth usage comprises two parts: |
17 |
1. Bandwidth used by the up-to-date-checks. |
18 |
Scales with the size of the tree. |
19 |
2. Bandwidth used by sending newest versions of files. |
20 |
Scales with the number of changed files. |
21 |
|
22 |
Let's call this B(checked) + B(changed) |
23 |
|
24 |
However, most importantly, it's that rsync only sends the NEWEST version |
25 |
of the files, not the complete history. |
26 |
|
27 |
Git bandwidth usage comprises one thing, the set of commits since the |
28 |
last time you did a fetch. |
29 |
|
30 |
Let's call this B(commits) |
31 |
|
32 |
If you run rsync very frequently, B(changed) tends towards zero, |
33 |
while B(checked) becomes constant. |
34 |
|
35 |
If you run git very frequently, B(commits) tends towards zero. |
36 |
|
37 |
Now, the important thing happens when you run them seldom. |
38 |
The sum of B(changed)+B(checked) will become smaller than B(commits) |
39 |
when there are many commits that have been superseded by newer commits. |
40 |
|
41 |
Yes, there are cases where EITHER side can win, but for the rate of |
42 |
change of the tree and how often rsync should be used (not more than |
43 |
every 12 hours), I believe that the rsync bandwidth usage will be less |
44 |
than that of Git. |
45 |
|
46 |
-- |
47 |
Robin Hugh Johnson |
48 |
Gentoo Linux: Developer, Trustee & Infrastructure Lead |
49 |
E-Mail : robbat2@g.o |
50 |
GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85 |