Ricardo Wurmus <ricardo.wur...@mdc-berlin.de> writes:
> Ludovic Courtès <l...@gnu.org> writes: > >> Ricardo, Roel: would you be able to run that links-traversal.c from >> <https://debbugs.gnu.org/cgi/bugreport.cgi?filename=links-traversal.c;bug=24937;msg=25;att=1> >> on a machine with a big store, as described at >> <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24937#25>? > > I just ran this on my workstation in the office where I regularly build > packages. Here’s the output of “df -i /gnu” > > Filesystem Inodes IUsed IFree IUse% Mounted on > /dev/mapper/fedora-root 3301376 1098852 2202524 34% / > > Probably not large enough to derive conclusions about hydra’s behaviour. > > [I can’t run it on the shared store at the MDC because NFS performance is > too poor. I recently ran “guix gc --optimize” to dedupe the shared > store (post-build deduplication is disabled since a few weeks) and it’s > at 3,197,489 used inodes.] > > Here are the results of running the link-traversal code on my > workstation: > > --8<---------------cut here---------------start------------->8--- > rwurmus in ~: gcc -std=gnu99 -Wall links-traversal.c -DMODE=3 > rwurmus in ~: sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches' > rwurmus in ~: time ./a.out > 412825 dir_entries, 107 seconds > stat took 0 seconds > > real 1m47.264s > user 0m0.214s > sys 0m1.314s > > rwurmus in ~: gcc -std=gnu99 -Wall links-traversal.c -DMODE=2 > rwurmus in ~: sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches' > rwurmus in ~: time ./a.out > 12821 dir_entries, 107 seconds (including stat) > > real 1m46.475s > user 0m0.201s > sys 0m1.309s > --8<---------------cut here---------------end--------------->8--- I ran this for the first time on ci.guix.gnu.org, which has a very big store (currently at around 29TB). df -i /gnu: Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sdb1 610021376 132350406 477670970 22% /gnu I had to increase the number of MAX_ENTRIES to 135000000. I forgot to drop caches initially. This is the first run: --8<---------------cut here---------------start------------->8--- root@berlin ~ [env]# gcc links-traversal.c -DMODE=3 -o links-traversal root@berlin ~ [env]# time ./links-traversal 57079502 dir_entries, 3906 seconds stat took 136 seconds real 67m48.145s user 0m59.575s sys 2m30.065s --8<---------------cut here---------------end--------------->8--- I aborted the run after I dropped caches after 67 minutes. I’m going to continue testing on one of the build nodes, and I’ll try using statx. -- Ricardo