Hello, There’s good stuff coming from the recent ‘rust-team’ branch merge (congrats, Hilton!!) beyond Rust itself.
First, 16% fewer packages: --8<---------------cut here---------------start------------->8--- $ guix package -A |wc -l # before 35132 $ ./pre-inst-env guix package -A |wc -l # after 29318 --8<---------------cut here---------------end--------------->8--- That makes many things faster: building the package cache, traversing the list of packages, evaluations on ci.guix and the Data Service, etc. Second, almost 10x speedup on reverse dependency lookup: --8<---------------cut here---------------start------------->8--- $ time guix refresh -l cairo >/dev/null # before real 0m31.776s user 0m41.822s sys 0m0.430s $ time ./pre-inst-env guix refresh -l cairo >/dev/null # after real 0m4.059s user 0m5.179s sys 0m0.236s --8<---------------cut here---------------end--------------->8--- This is due to the fact that ‘cargo-build-system’ would previously compute the closure of the given package’s #:cargo-inputs, which involved traversing the package graph. There may be more similar effects. This is a great example of how the structure of the package graph and the amount of computation needed for each node can radically affect performance. Thanks, Ludo’.