commented:
On this laptop, a guix pull (remember, this is the equivalent to
updating your nixpkgs pin on Nix) can easily take 30-50 minutes.
This seems pretty bad, borders on unusable.
commented:
I wonder if the author pulled from Savannah? I was playing with Guix
in a VM a few days ago, and noticed that a huge contributor to guix
pull was where it pulled from. Switching from Savannah to Codeberg
sped it up a lot. It was still incredibly slow compared to Nix (which
isn’t particularly fast itself, either), but a guix pull took about
20-25 minutes in a 2 CPU, 8GiB RAM VM, almost half of that 30-50, and
my VM was probably less powerful than the author’s laptop.
commented:
I can corroborate this. Guix went through a lot of churn in the last
two months during its migration to Codeberg. If the author had set up
their Guix system during this churn, and/or used the old savannah
channels, then that’s one reason why it took so much time. The new
codeberg channels are much faster.
Having said that, yes, Nix is much faster than Guix.
commented:
Oh yeah, the Codeberg thing is something I only figured out a few days
later. Switching the channel source there shaved off a huge amount of
time from this update process. Really need to write a follow-up post
to this.
Another thing was that ci.guix.gnu.org is unreachable for me, and Guix
waits for substitute servers forever apparently. Disabling it and
setting only bordeaux also helped, but serving speeds from there
rarely exceed ~2MiB/s (I think it’s just a single host somewhere?).
For the binary cache situation I set up a public Guix mirror on my
employer’s “bigtech” infra:
https://mirror.yandex.ru/mirrors/guix/
In contrast, Nix obviously has much more corporate interests backing
it, so it has (expensive) sponsored CDN cache serving and so on.
commented:
It’s an issue only for the first install, as the author suggests. It
should also improve with the increased frequency of released images
(something being dealt with right now). Also of note is the recent
transition from Savannah to Codeberg, reported by /u/algernon.
commented:
Glad to hear this!
commented:
I experienced this too, sadly. I want to like Guix, but didn’t want to
sign up for these sorts of performance issues.
commented:
I’m under the impression they’re deliberately using an underpowered
machine.
commented:
It’s not “deliberately underpowered”, it’s “deliberately strange”.
Anyways, I understood later on that another problem is that there are
certain commits for which the precompiled Guix Scheme modules (they
have store paths like guix-home, guix-system, etc.) do not hit the
cache.
This means that on those commits, in addition to whatever else guix
pull does, you’re doing a full additional Guile compilation +
optimisation pass. I’m not yet sure whether there is a way to check
ahead of time whether a given commit is “good” in that sense (in NixOS
the equivalent would be checking if it was at some moment the HEAD of
e.g. the nixos-unstable channel, which means that it was built by CI).
commented:
I wish Guix could work with systemd too, as with shepherd there is
this grave problem which results in filesystems not cleanly unmounted
before reboot/shutdown.
commented:
Can you verify it remounts / read-only at some point?
commented:
This is super interesting and something I’ve thought about as a nix
user who likes lisp/scheme.
I got a bit distracted by the mention of the “unchartevice laptop”.
I’ve never heard of this manufacturer or the cpu it’s running. A quick
search doesn’t reveal any info in English. Anybody have any details on
this hardware or the desktop simulator linked there?
commented:
I think I linked to them in the post, but their website is not exactly
informative. You probably can’t buy them in the West.
It’s some sort of popup company (they don’t make anything other than 3
models of laptops) that have almost entirely Chinese hardware. The
main feature is that they have Zhaoxin CPUs, which are x86_64
compatible but performance-equivalent to ten year old Intel consumer
CPUs.
I bought it mostly out of curiosity, and to do experiments like this
on. It’s definitely not a daily driver type machine.
For what it’s worth, Guix kept intriguing me, and I’ve also installed
it on a laptop with a more “normal” CPU now. Probably will write a
followup post in a couple of weeks.
commented:
Yeah the simulator with the joke boot screen kinda threw me which is
why I asked. Very cool though. Most computer company websites are very
boring and definitely not catering toward a hobbyist market like this
seems to be.
I’m very Interested to see what your experience is on a more typical
CPU!
commented:
I read it assuming that “unchartevice” is the hostname, but it’s just
a guess
commented:
I tried to read linked articles about systemd issues, but these are
either dead or have invalid TLS certificates.