On Tue, 14 Apr 2009, Ciaran McCreesh wrote:

> On Tue, 14 Apr 2009 12:31:23 -0400 (EDT)
> "Benjamin R. Haskell" <[email protected]> wrote:
> > What is paludis actually doing during the new "Checking for possible 
> > errors......" step?
> 
> Checking digests of things that have already been downloaded.
> 
> > It adds about a twelve-minute delay to paludis -i world on my netbook.
> 
> That doesn't sound right. Just how much stuff are you reinstalling?

I remember seeing a wishlist item at some point for an option to get a 
list of URLs that would be fetched... I assume that's still a wishlist 
item?

Either way, I cobbled the following fun commandline:

(paludis-fetch is just a simple script to convert 'paludis -pi world' 
output into lines of the form:)
cat/pack-version::repo

paludis-fetch --dry < ~/tmp/paludis-world \
| perl -lpwe '$_="=$_"' \
| xargs paludis -qM \
| grep URI: \
| perl -lanwe 'print +(split m{/})[-1] for grep m{^[a-z]+:}, @F' \
| perl -lnwe 'BEGIN { @distdirs = map +(split)[-1], qx/paludis --info|grep 
distdir|sort|uniq/; } for my $d (@distdirs) { $f = "$d/$_"; next unless -f $f; 
print $f; last; }' \
| sort | uniq \
| tee ~/tmp/paludis-fetch-files \
| sort-with-size | running-total | humanfy | nl | tail

328     622.3M   23.2M  /usr/portage/distfiles/mono-2.2.tar.bz2
329     650.3M   28.0M  /usr/portage/distfiles/wxPython-src-2.8.9.2.tar.bz2
330     679.7M   29.4M  /usr/portage/distfiles/ghc-bin-6.8.2-x86.tbz2
331     712.3M   32.6M  /usr/portage/distfiles/xulrunner-1.9.0.8.tar.bz2
332     745.1M   32.8M  /usr/portage/distfiles/mysql-5.0.76.tar.gz
333     782.9M   37.8M  /usr/portage/distfiles/emacs-22.3.tar.gz
334     839.5M   56.6M  /usr/portage/distfiles/gcc-4.3.3.tar.bz2
335     916.0M   76.4M  /usr/portage/distfiles/jdk-6u13-dlj-linux-i586.bin
336       1.0G  108.1M  
/usr/portage/distfiles/qt-x11-opensource-src-4.5.0.tar.bz2
337       1.1G  148.6M  
/usr/portage/distfiles/OOo_3.0.0_LinuxIntel_install_en-US.tar.gz

So, at least ~1.1 GiB of stuff to be hashed, not counting things in 
FILESDIR's.

$ time perl -l0pe '' ~/tmp/paludis-fetch-files | xargs -0 openssl dgst -rmd160
...
xargs -0 openssl dgst -rmd160  37.33s user 4.75s system 46% cpu 1:31.09 total

$ time perl -l0pe '' ~/tmp/paludis-fetch-files | xargs -0 openssl dgst -sha1
...
xargs -0 openssl dgst -sha1  23.42s user 4.34s system 39% cpu 1:10.28 total

So, RMD160's take about 1m30s.  SHA1's take about 1:10.  But, I'd expect 
computing both in a row on the same files would have a lower total time, 
thanks to disk cache.  Are there other hashes that get computed?


> > But why?  And can I disable it?
> 
> The checks have always been done, and are necessary. We've just moved 
> them to take place at pretend-install time, rather than after you've 
> left your computer.

Ah.  I saw the "Catch fetch errors at pretend time" log, but didn't 
associate it.  Sounds good.

Best,
Ben
_______________________________________________
paludis-user mailing list
[email protected]
http://lists.pioto.org/mailman/listinfo/paludis-user

Reply via email to