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: bd56b5fe3f53
Choose a base ref
...
head repository: NixOS/nix
compare: 3c2de9830dfa
Choose a head ref
  • 14 commits
  • 40 files changed
  • 1 contributor

Commits on May 30, 2018

  1. Configuration menu
    Copy the full SHA
    3cab639 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    23d6bb5 View commit details
    Browse the repository at this point in the history
  3. Make 'nix copy --to daemon' run in constant memory (daemon side)

    Continuation of 97002b6. This makes
    the daemon use constant memory. For example, it reduces the daemon's
    maximum RSS on
    
      $ nix copy --from ~/my-nix --to daemon /nix/store/1n7x0yv8vq6zi90hfmian84vdhd04bgp-blender-2.79a
    
    from 264 MiB to 7 MiB.
    
    We now use a TunnelSource to prevent the connection from ending up in
    an undefined state if an exception is thrown while the NAR is being
    sent.
    
    Issue #1681.
    edolstra committed May 30, 2018
    Configuration menu
    Copy the full SHA
    6185d25 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e606cd4 View commit details
    Browse the repository at this point in the history
  5. Modularize config settings

    Allow global config settings to be defined in multiple Config
    classes. For example, this means that libutil can have settings and
    evaluator settings can be moved out of libstore. The Config classes
    are registered in a new GlobalConfig class to which config files
    etc. are applied.
    
    Relevant to #2009 in that it
    removes the need for ad hoc handling of useCaseHack, which was the
    underlying cause of that issue.
    edolstra committed May 30, 2018
    1 Configuration menu
    Copy the full SHA
    737ed88 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    c1d445e View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    1672bcd View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    81ea8bd View commit details
    Browse the repository at this point in the history
  9. Make LocalBinaryCacheStore::narFromPath() run in constant memory

    This reduces memory consumption of
    
      nix copy --from file://... --to ~/my-nix /nix/store/95cwv4q54dc6giaqv6q6p4r02ia2km35-blender-2.79
    
    from 514 MiB to 18 MiB for an uncompressed binary cache, and from 192
    MiB to 53 MiB for a bzipped binary cache. It may also be faster
    because fetching can happen concurrently with decompression/writing.
    
    Continuation of 48662d1.
    
    Issue #1681.
    edolstra committed May 30, 2018
    Configuration menu
    Copy the full SHA
    08ec757 View commit details
    Browse the repository at this point in the history
  10. Make HttpBinaryCacheStore::narFromPath() run in constant memory

    This reduces memory consumption of
    
      nix copy --from https://cache.nixos.org --to ~/my-nix /nix/store/95cwv4q54dc6giaqv6q6p4r02ia2km35-blender-2.79
    
    from 176 MiB to 82 MiB. (The remaining memory is probably due to xz
    decompression overhead.)
    
    Issue #1681.
    Issue #1969.
    edolstra committed May 30, 2018
    2 Configuration menu
    Copy the full SHA
    e87e4a6 View commit details
    Browse the repository at this point in the history
  11. getDownloader(): Simplify

    edolstra committed May 30, 2018
    Configuration menu
    Copy the full SHA
    5a654fd View commit details
    Browse the repository at this point in the history
  12. Make <nix/fetchurl.nix> run in constant memory

    E.g.
    
      nix-build --store ~/my-nix/ -E 'import <nix/fetchurl.nix> { url = https://cache.nixos.org/nar/0nwi996rgq4b914qyx0mv2wq4k80hjac7xilikavagw7kxmn2iiv.nar.xz; sha256 = "0nwi996rgq4b914qyx0mv2wq4k80hjac7xilikavagw7kxmn2iiv"; }'
    
    now runs in 17 MiB (was 70 MiB), while
    
      nix-build --store ~/my-nix/ -E 'import <nix/fetchurl.nix> { url = https://cache.nixos.org/nar/0nwi996rgq4b914qyx0mv2wq4k80hjac7xilikavagw7kxmn2iiv.nar.xz; sha256 = "0d2fxljdih3nc5dqx41hjzic3141ajil94m8kdbpryq569dpsbvb"; unpack = true; }'
    
    runs in 17 MiB (was 346 MiB).
    edolstra committed May 30, 2018
    Configuration menu
    Copy the full SHA
    7d21863 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    a4c1618 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    3c2de98 View commit details
    Browse the repository at this point in the history