CI targets for //tvix are very expensive to evaluate

#426
Opened by sterni at 2024-11-21T17·18+00

I've been wondering how 🦙 has started to take ~6min. Seems like //tvix is at least partially responsible. I've taken the following measurement on whitby (!):

time nix-instantiate -E 'with import ./. {}; nix.readTree.gather third_party.nixpkgs.lib.isDerivation tvix'
…


real	2m58.487s
user	2m32.097s
sys	0m9.247s

It appears that the NixOS VM tests are mostly unproblematic, main contributor seem to be the feature variants of //tvix/store and //tvix/castore. Evaluating the only the subtargets of //tvix/build, //tvix/castore and //tvix/store takes ~1m50s on whitby.

  1. For comparison,

    • //ops (without //ops/pipelines) takes ~30s
    • //users takes 1m50s

    so the classic expensive sub trees that have a ton of NixOS machines easily outperform //tvix.

    sterni at 2024-11-21T17·51+00