BTW, there’s also the “Compute Guix derivation” phase that could be sped up, and that’s mostly independent of Guile.
Things that could help include: “recursive Nix”¹ (the Guix derivation would itself be the result of a derivation, thus subject to substitutes), or something equivalent without special daemon support where we’d simply embed (guix derivations) & co. to compute the derivation in memory. Another less elegant option would be to resort to a service (Data Service or Cuirass) that would map a Guix commit to its .drv, and then fetch that .drv from substitute servers and build it. Finally, we could/should also profile that phase and see what can be done. Lastly :-), it would be great to profile this phase over time to see how it evolves. (Does the Guix Data Service already stores timings for such things?) Ludo’. ¹ https://github.com/NixOS/nix/pull/3205