brewery
notashelf /
4ea090cf330d87b264b6d554a8307347c46f7e56

nixir

public

Import-resolving Nix IR plugin

Star0tarball
clone
ssh://git@git.notashelf.dev:33/notashelf/nixir.git
tests/benchmark/large.nixNix47 lines759 B
1
# Large :b:oke ---I mean...benchmark, for stress testing
2
let
3
  # Generate large list
4
  range = start: end:
5
    if start >= end
6
    then []
7
    else [start] ++ range (start + 1) end;
8
9
  # Deep nesting
10
  deepNest = {a = {b = {c = {d = {e = {f = 42;};};};};};};
11
12
  # Large attrset
13
  largeAttrs = {
14
    a1 = 1;
15
    a2 = 2;
16
    a3 = 3;
17
    a4 = 4;
18
    a5 = 5;
19
    a6 = 6;
20
    a7 = 7;
21
    a8 = 8;
22
    a9 = 9;
23
    a10 = 10;
24
    b1 = 11;
25
    b2 = 12;
26
    b3 = 13;
27
    b4 = 14;
28
    b5 = 15;
29
    b6 = 16;
30
    b7 = 17;
31
    b8 = 18;
32
    b9 = 19;
33
    b10 = 20;
34
  };
35
36
  # Recursive attrset
37
  recursive = rec {
38
    x = 10;
39
    y = x * 2;
40
    z = y + x;
41
    result = z * 3;
42
  };
43
in {
44
  list_100 = range 1 100;
45
  deep = deepNest.a.b.c.d.e.f;
46
  inherit largeAttrs recursive;
47
}