Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nix
base: 671f16aee04a
Choose a base ref
...
head repository: NixOS/nix
compare: c4d740115e39
Choose a head ref
  • 3 commits
  • 9 files changed
  • 1 contributor

Commits on Jun 7, 2019

  1. Add flake evaluation cache

    This exploits the hermetic nature of flake evaluation to speed up
    repeated evaluations of a flake output attribute.
    
    For example (doing 'nix build' on an already present package):
    
      $ time nix build nixpkgs:firefox
    
      real    0m1.497s
      user    0m1.160s
      sys     0m0.139s
    
      $ time nix build nixpkgs:firefox
    
      real    0m0.052s
      user    0m0.038s
      sys     0m0.007s
    
    The cache is ~/.cache/nix/eval-cache-v1.sqlite, which has entries like
    
      INSERT INTO Attributes VALUES(
        X'92a907d4efe933af2a46959b082cdff176aa5bfeb47a98fabd234809a67ab195',
        'packages.firefox',
        1,
        '/nix/store/pbalzf8x19hckr8cwdv62rd6g0lqgc38-firefox-67.0.drv /nix/store/g6q0gx0v6xvdnizp8lrcw7c4gdkzana0-firefox-67.0 out');
    
    where the hash 92a9... is a fingerprint over the flake store path and
    the contents of the lockfile. Because flakes are evaluated in pure
    mode, this uniquely identifies the evaluation result.
    edolstra committed Jun 7, 2019
    Copy the full SHA
    6644b60 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    c47d2da View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2019

  1. Merge pull request #2930 from NixOS/eval-cache

    Flake evaluation cache
    edolstra committed Jun 11, 2019
    Copy the full SHA
    c4d7401 View commit details
    Browse the repository at this point in the history