Simon Josefsson via "Development of GNU Guix and the GNU System distribution." <guix-devel@gnu.org> writes:
> Simon Tournier <zimon.touto...@gmail.com> writes: > >> To my knowledge, the main bottleneck on most machines is the part >> “Computing Guix derivation...“ and sadly it’s not substitutable. > > I'm not sure that is the full story. Is there some way to instrument > 'guix pull' to report what it is spending time on? I think there are at > least three different steps involved: > > 1) Actual 'git pull' equivalent. > > 2) The 'guix authenticate' dance on the commits. > > 3) The Guix derivation part. > > In some settings, I fear step 1 and 2 takes comparable time as 3. In my experience, authentication is pretty fast. `guix git authenticate` processes hundreds of commits in under a second. The initial `git pull` part can be surprisingly slow, though. And it's not always a network thing. For example, every single time I run `guix pull` it appears to do nothing for like 2 minutes, and then the progress bars display as it pulls the entire repo instead of using a cached checkout, which takes forever. It's probably a bug with the caching; I pull from a local authenticated fork, which can't be too common, so it makes sense that this hasn't been caught before. I haven't had time to properly debug it yet (deleting the cache does not help).