tvix: add criterion bench for nixpkgs eval

#322
Opened by flokli at 2023-10-16T09·05+00

We already have some very small benches in tvix/eval/benches/eval.rs, but we should probably have a bigger benchmark for something like evaluating a certain attribute from a pinned nixpkgs checkout (peek in tvix/cli/default.nix for what we can do right now).

We /might/ need to find a way to prevent filesystem IO to get too much in our way for that benchmark, if the warmup that criterion does is not sufficient. One way could be to write a cache layer implementing EvalIO (from eval/src/io.rs), and using that, so .nix files are only loaded from disk once (during warmup).

  1. Writing a criterion bench for anything in tvix-cli is currently quite challenging, opened b/327 for splitting out glue code.

    flokli at 2023-10-19T11·46+00

  2. Landed in cl/10245.

    flokli at 2023-12-12T18·08+00

  3. flokli closed this issue at 2023-12-12T18·08+00