Subject: bug#44053: ‘xdg-mime-database’ profile hook is slow

From: zimoun <[email-masked]>
Date: Thu, 05 Nov 2020 17:10:39 +0100

Hi,

On Thu, 05 Nov 2020 at 14:47, Luis Felipe <[email-masked]> wrote:

>> Clever workaround! What are now the performances on previous examples
>> (same profiles and same packages)?
>
> In my case there seem to be no improvement (using Guix 5e7cf66fb35780f930ad0bc5fe21ac330df4411d).
>
>
> $ time guix package -i perl --max-jobs=1

[...]

> real	8m38,121s
> user	0m2,742s
> sys	0m0,338s

Thanks.  But it is hard to conclude because the previous timing is
missing.  The right experiment should be:

--8<---------------cut here---------------start------------->8---
old=c73496f433044a76003b33c3855bb35ecd0df87f
new=5e7cf66fb35780f930ad0bc5fe21ac330df4411d
guix time-machine --commit=$old -- help
guix time-machine --commit=$new -- help

drv=$(guix gc -R $(guix gc --derivers $(readlink -f ~/.guix-profile)) |grep xdg-mime-database.drv)

guix package -I |wc -l
time guix time-machine --commit=$old -- build --check $drv
time guix time-machine --commit=$new -- build --check $drv
--8<---------------cut here---------------end--------------->8---

And personally, I get:

18

Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
The following profile hook will be built:
   /gnu/store/2jlwri28aycsayql85rfphrks721ny1k-xdg-mime-database.drv
building XDG MIME database...
successfully built /gnu/store/2jlwri28aycsayql85rfphrks721ny1k-xdg-mime-database.drv
/gnu/store/hrcj1h0hl9f6hm1akh682zj1mhpwbx4c-xdg-mime-database

real	0m8.063s
user	0m6.226s
sys	0m0.282s

Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
The following profile hook will be built:
   /gnu/store/2jlwri28aycsayql85rfphrks721ny1k-xdg-mime-database.drv
building XDG MIME database...
successfully built /gnu/store/2jlwri28aycsayql85rfphrks721ny1k-xdg-mime-database.drv
/gnu/store/hrcj1h0hl9f6hm1akh682zj1mhpwbx4c-xdg-mime-database

real	0m8.016s
user	0m6.223s
sys	0m0.243s

Well, I have only 18 packages in my ~/.guix-profile.  That’s why the
difference is not visible and the “time-machine” is totally dominating
here.

All the best,
simon