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: 11ba4302e366
Choose a base ref
...
head repository: NixOS/nix
compare: b24b8ef77c63
Choose a head ref
  • 2 commits
  • 4 files changed
  • 1 contributor

Commits on Oct 17, 2017

  1. BinaryCacheStore: Support local caching of NARs

    This speeds up commands like "nix cat-store". For example:
    
      $ time nix cat-store --store https://cache.nixos.org?local-nar-cache=/tmp/nar-cache /nix/store/i60yncmq6w9dyv37zd2k454g0fkl3arl-systemd-234/etc/udev/udev.conf
      real    0m4.336s
    
      $ time nix cat-store --store https://cache.nixos.org?local-nar-cache=/tmp/nar-cache /nix/store/i60yncmq6w9dyv37zd2k454g0fkl3arl-systemd-234/etc/udev/udev.conf
      real    0m0.045s
    
    The primary motivation is to allow hydra-server to serve files from S3
    binary caches. Previously Hydra had a hack to do "nix-store -r
    <path>", but that fetches the entire closure so is prohibitively
    expensive.
    
    There is no garbage collection of the NAR cache yet. Also, the entire
    NAR is read when accessing a single member file. We could generate the
    NAR listing to provide random access.
    
    Note: the NAR cache is indexed by the store path hash, not the content
    hash, so NAR caches should not be shared between binary caches, unless
    you're sure that all your builds are binary-reproducible.
    edolstra committed Oct 17, 2017
    Copy the full SHA
    ca580be View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    b24b8ef View commit details
    Browse the repository at this point in the history