> Datum: Tue, 28 Feb 2012 13:43:05 +0100
> Von: Stephen Butler <sbutler@...>
> > Acutually this "representation-sharing" was my question. How good does
> it work for compiled C++ code? How much does the repository typically grow?
> It's best to write a simple script that loads various versions of your
> own files into an empty repository. Using the default FSFS backend,
> you can see the size of each commit.
OK, I now made some experiments with a typical library
(2 MB object code, 2MB library size) comiled with Visual C++.
Just completely recompiling the library (unchanged source) and commitiong again gives a repository growth of 7 KB (0,15% of the "commit size")
If I add one member function (to approx 40), which means that I also changed the header and had to recompile some other classes, and commit, the repository grows by 130 KB (3% of "commit size").
My interpretation of this is that "representation-sharing" works well enough for compiled C++ code, i.e. if I change 2% of source code and commit the changed objects and libs, then typically a comparable amount (+/- 2%) of the object code is additionally added to the repostory and the remaining +/- 98% can be reused from previously committed object code.