Suhail Singh <[email protected]> writes:
> Daniel Littlewood <[email protected]> writes:
>
>> guix pull ("38k new commits"): 21m45s
>> guix pull immediately after: 2m25s
>> guix shell emacs (fresh): 1m49s
>> ...
>>
>> nix-channel --update: 0m23s
>> nix shell -p emacs (fresh): 0m24s
>
> Those are some interesting comparisons. Is the reason guix pull takes
> so long as compared to updating nix-channel primarily due to the
> authentication of commits? Or something else?
It's "something else". This is a comparison between apples and
giraffes. "guix pull" does a different job than "nix-channel"; the
latter only needs to download a new version of inert data whereas the
former computes a trampoline and then updates Guix itself.
The fundamental difference is that Guix is a library, not merely
"package metadata" that would be independent of the Guix executable.
Comparing "guix shell" and "nix shell" is fair game, though, but I
cannot reproduce the above numbers. Here's my crude test:
time guix shell --no-substitutes emacs-minimal -- ls
real 0m2.386s
user 0m1.489s
sys 0m0.141s
This is without the "guix shell" cache, but with Emacs present in /gnu/store.
--
Ricardo