On Tue, Jun 24, 2014 at 10:33 PM, Andy Goth <andrew.m.g...@gmail.com> wrote:

> On 6/24/2014 3:27 PM, Richard Hipp wrote:>
> > It might be possible to provide an option to disable this checksum
> > step for large repos.
>
> This command, run at the top level of the source tree:
>
> find -type f | xargs cat | md5sum
>
> completes in 3.62 seconds.
>

i agree with Richard's suspicion - the R-card calculation is very costly in
terms of system memory, and puts the allocator through the wringer. There's
lots of db looksups, undeltification and unzipping going on which is not
accounted for here:


> find -type f | xargs cat | wc -c
>
> outputs 428,488,837 (without the commas).
>

FWIW: in libfossil whether or not to generate an R-card is a flag the
client can set. Fossil historically required them but made them optional
for the sake of really big repos (i think the BSD pkgsrc or tcl was the
first one to be seriously impacted by the R-card).

FWIW2: i would be all for disabling the R-card in fossil(1), checking it
when it exists (as now) but not writing it by default in new checkins. The
R-card is the 3rd (or further down) line of defense against corruption, is
arguably superfluous, and has a truly massive cost.

-- 
----- stephan beal
http://wanderinghorse.net/home/stephan/
http://gplus.to/sgbeal
"Freedom is sloppy. But since tyranny's the only guaranteed byproduct of
those who insist on a perfect world, freedom will have to do." -- Bigby Wolf
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to