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/nixpkgs
base: bdebbbe9598d
Choose a base ref
...
head repository: NixOS/nixpkgs
compare: 82e1691d3b10
Choose a head ref
  • 2 commits
  • 2 files changed
  • 2 contributors

Commits on Apr 11, 2019

  1. check-env: don't execute check-meta.nix 15,000 times

    Generated from NixOS/nix#2761:
    
    ```
                                                                                              ns     calls ns/call
    - /home/grahamc/projects/github.com/NixOS/nixpkgs/pkgs/stdenv/generic/check-meta.nix:22:5 591200 15026 39.3451
    + /home/grahamc/projects/github.com/NixOS/nixpkgs/pkgs/stdenv/generic/check-meta.nix:22:5 8744   308   28.3896
    ```
    
    more, generated by:
    
    ```
    $ NIX_SHOW_STATS=1 NIX_COUNT_CALLS=1 nix-instantiate ./pkgs/top-level/release.nix -A unstable > before 2>&1
    $ jq -r '.functions | map((.name + ":" + .file + ":" + (.line|tostring) + ":" + (.column|tostring) + " " + (.count|tostring))) | .[]' before | sort  > before.list
    ```
    
    applying this patch, then:
    
    ```
    $ NIX_SHOW_STATS=1 NIX_COUNT_CALLS=1 nix-instantiate ./pkgs/top-level/release.nix -A unstable > after 2>&1
    $ jq -r '.functions | map((.name + ":" + .file + ":" + (.line|tostring) + ":" + (.column|tostring) + " " + (.count|tostring))) | .[]' after | sort  > after.list
    ```
    
    and then diffing before.list and after.list to get:
    
    ```
                                                                                                            calls
    - :/home/grahamc/projects/github.com/NixOS/nixpkgs/pkgs/stdenv/generic/check-meta.nix:4:1               7513
    + :/home/grahamc/projects/github.com/NixOS/nixpkgs/pkgs/stdenv/generic/check-meta.nix:4:1               154
    
    - mutuallyExclusive:/home/grahamc/projects/github.com/NixOS/nixpkgs/lib/lists.nix:658:23                7513
    + mutuallyExclusive:/home/grahamc/projects/github.com/NixOS/nixpkgs/lib/lists.nix:658:23                154
    
    - mutuallyExclusive:/home/grahamc/projects/github.com/NixOS/nixpkgs/lib/lists.nix:658:26                7513
    + mutuallyExclusive:/home/grahamc/projects/github.com/NixOS/nixpkgs/lib/lists.nix:658:26                154
    
    - onlyLicenses:/home/grahamc/projects/github.com/NixOS/nixpkgs/pkgs/stdenv/generic/check-meta.nix:21:18 15026
    + onlyLicenses:/home/grahamc/projects/github.com/NixOS/nixpkgs/pkgs/stdenv/generic/check-meta.nix:21:18 308
    ```
    
    The following information is from `NIX_SHOW_STATS=1 GC_INITIAL_HEAP_SIZE=4g nix-env -f ./outpaths.nix -qaP --no-name --out-path --arg checkMeta true`:
    
    | stat                       | before         | after          | Δ               | Δ%      |
    |:---------------------------|---------------:|---------------:|:----------------|--------:|
    | **cpuTime**                |        179.915 |        145.543 | 🡖 34.372        | -19.10% |
    | **envs-bytes**             |  3,900,878,824 |  3,599,483,208 | 🡖 301,395,616   |  -7.73% |
    | **envs-elements**          |    214,426,071 |    185,881,709 | 🡖 28,544,362    | -13.31% |
    | **envs-number**            |    136,591,891 |    132,026,846 | 🡖 4,565,045     |  -3.34% |
    | **gc-heapSize**            | 11,400,048,640 | 12,314,890,240 | 🡕 914,841,600   |   8.02% |
    | **gc-totalBytes**          | 25,976,902,560 | 24,510,740,176 | 🡖 1,466,162,384 |  -5.64% |
    | **list-bytes**             |  1,665,290,080 |  1,665,290,080 | 0               |         |
    | **list-concats**           |      7,264,417 |      7,264,417 | 0               |         |
    | **list-elements**          |    208,161,260 |    208,161,260 | 0               |         |
    | **nrAvoided**              |    191,359,386 |    179,693,661 | 🡖 11,665,725    |  -6.10% |
    | **nrFunctionCalls**        |    119,665,062 |    116,348,547 | 🡖 3,316,515     |  -2.77% |
    | **nrLookups**              |     80,996,257 |     76,069,825 | 🡖 4,926,432     |  -6.08% |
    | **nrOpUpdateValuesCopied** |    213,930,649 |    213,930,649 | 0               |         |
    | **nrOpUpdates**            |     12,025,937 |     12,025,937 | 0               |         |
    | **nrPrimOpCalls**          |     88,105,604 |     86,451,598 | 🡖 1,654,006     |  -1.88% |
    | **nrThunks**               |    196,842,044 |    175,126,701 | 🡖 21,715,343    | -11.03% |
    | **sets-bytes**             |  7,678,425,776 |  7,285,767,928 | 🡖 392,657,848   |  -5.11% |
    | **sets-elements**          |    310,241,340 |    294,373,227 | 🡖 15,868,113    |  -5.11% |
    | **sets-number**            |     29,079,202 |     27,601,310 | 🡖 1,477,892     |  -5.08% |
    | **sizes-Attr**             |             24 |             24 | 0               |         |
    | **sizes-Bindings**         |              8 |              8 | 0               |         |
    | **sizes-Env**              |             16 |             16 | 0               |         |
    | **sizes-Value**            |             24 |             24 | 0               |         |
    | **symbols-bytes**          |     16,474,666 |     16,474,676 | 🡕 10            |   0.00% |
    | **symbols-number**         |        376,426 |        376,427 | 🡕 1             |   0.00% |
    | **values-bytes**           |  6,856,506,288 |  6,316,585,560 | 🡖 539,920,728   |  -7.87% |
    | **values-number**          |    285,687,762 |    263,191,065 | 🡖 22,496,697    |  -7.87% |
    
    The following information is from `NIX_SHOW_STATS=1 GC_INITIAL_HEAP_SIZE=4g nix-instantiate ./nixos/release-combined.nix -A tested`:
    
    | stat                       | before         | after          | Δ               | Δ%     |
    |:---------------------------|---------------:|---------------:|:----------------|-------:|
    | **cpuTime**                |        256.071 |        237.531 | 🡖 18.54         | -7.24% |
    | **envs-bytes**             |  7,111,004,192 |  7,041,478,520 | 🡖 69,525,672    | -0.98% |
    | **envs-elements**          |    346,236,940 |    339,588,487 | 🡖 6,648,453     | -1.92% |
    | **envs-number**            |    271,319,292 |    270,298,164 | 🡖 1,021,128     | -0.38% |
    | **gc-heapSize**            |  8,995,291,136 | 10,110,009,344 | 🡕 1,114,718,208 | 12.39% |
    | **gc-totalBytes**          | 37,172,737,408 | 36,878,391,888 | 🡖 294,345,520   | -0.79% |
    | **list-bytes**             |  1,886,162,656 |  1,886,163,472 | 🡕 816           |  0.00% |
    | **list-concats**           |      6,898,114 |      6,898,114 | 0               |        |
    | **list-elements**          |    235,770,332 |    235,770,434 | 🡕 102           |  0.00% |
    | **nrAvoided**              |    328,829,821 |    326,618,157 | 🡖 2,211,664     | -0.67% |
    | **nrFunctionCalls**        |    240,850,845 |    239,998,495 | 🡖 852,350       | -0.35% |
    | **nrLookups**              |    144,849,632 |    142,126,339 | 🡖 2,723,293     | -1.88% |
    | **nrOpUpdateValuesCopied** |    251,032,504 |    251,032,504 | 0               |        |
    | **nrOpUpdates**            |     17,903,110 |     17,903,110 | 0               |        |
    | **nrPrimOpCalls**          |    140,674,913 |    139,485,975 | 🡖 1,188,938     | -0.85% |
    | **nrThunks**               |    294,643,131 |    288,678,022 | 🡖 5,965,109     | -2.02% |
    | **sets-bytes**             |  9,464,322,192 |  9,456,172,048 | 🡖 8,150,144     | -0.09% |
    | **sets-elements**          |    377,474,889 |    377,134,877 | 🡖 340,012       | -0.09% |
    | **sets-number**            |     50,615,607 |     50,616,875 | 🡕 1,268         |  0.00% |
    | **sizes-Attr**             |             24 |             24 | 0               |        |
    | **sizes-Bindings**         |              8 |              8 | 0               |        |
    | **sizes-Env**              |             16 |             16 | 0               |        |
    | **sizes-Value**            |             24 |             24 | 0               |        |
    | **symbols-bytes**          |      3,147,102 |      3,147,064 | 🡖 38            | -0.00% |
    | **symbols-number**         |         82,819 |         82,819 | 0               |        |
    | **values-bytes**           | 11,147,448,768 | 10,996,111,512 | 🡖 151,337,256   | -1.36% |
    | **values-number**          |    464,477,032 |    458,171,313 | 🡖 6,305,719     | -1.36% |
    
    (cherry picked from commit 817c933)
    grahamc committed Apr 11, 2019
    Copy the full SHA
    ae38c98 View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2019

  1. Merge pull request #59336 from grahamc/backport-59323

    check-meta: don't execute check-meta.nix 15,000 times (backport)
    samueldr committed Jul 27, 2019
    Copy the full SHA
    82e1691 View commit details
    Browse the repository at this point in the history