cuelang.org/go@v0.10.1/cue/testdata/benchmarks/disjunction.txtar (about) 1 // Triggering recomputation of disjunctions on each branch results 2 // in exponential run time. Ensure this does not happen. 3 -- stats.txt -- 4 Leaks: 0 5 Freed: 82 6 Reused: 74 7 Allocs: 8 8 Retain: 0 9 10 Unifications: 4 11 Conjuncts: 143 12 Disjuncts: 82 13 14 -- in.cue -- 15 x: a0: {} 16 x: [_]: f: *1 | int 17 x: [_]: f: *1 | int 18 x: [_]: f: *1 | int 19 x: [_]: f: *1 | int 20 x: [_]: f: *1 | int 21 x: [_]: f: *1 | int 22 x: [_]: f: *1 | int 23 x: [_]: f: *1 | int 24 x: [_]: f: *1 | int 25 x: [_]: f: *1 | int 26 x: [_]: f: *1 | int 27 x: [_]: f: *1 | int 28 x: [_]: f: *1 | int 29 x: [_]: f: *1 | int 30 x: [_]: f: *1 | int 31 x: [_]: f: *1 | int 32 x: [_]: f: *1 | int 33 x: [_]: f: *1 | int 34 x: [_]: f: *1 | int 35 x: [_]: f: *1 | int 36 37 x: a0: {} 38 -- out/compile -- 39 --- in.cue 40 { 41 x: { 42 a0: {} 43 } 44 x: { 45 [_]: { 46 f: (*1|int) 47 } 48 } 49 x: { 50 [_]: { 51 f: (*1|int) 52 } 53 } 54 x: { 55 [_]: { 56 f: (*1|int) 57 } 58 } 59 x: { 60 [_]: { 61 f: (*1|int) 62 } 63 } 64 x: { 65 [_]: { 66 f: (*1|int) 67 } 68 } 69 x: { 70 [_]: { 71 f: (*1|int) 72 } 73 } 74 x: { 75 [_]: { 76 f: (*1|int) 77 } 78 } 79 x: { 80 [_]: { 81 f: (*1|int) 82 } 83 } 84 x: { 85 [_]: { 86 f: (*1|int) 87 } 88 } 89 x: { 90 [_]: { 91 f: (*1|int) 92 } 93 } 94 x: { 95 [_]: { 96 f: (*1|int) 97 } 98 } 99 x: { 100 [_]: { 101 f: (*1|int) 102 } 103 } 104 x: { 105 [_]: { 106 f: (*1|int) 107 } 108 } 109 x: { 110 [_]: { 111 f: (*1|int) 112 } 113 } 114 x: { 115 [_]: { 116 f: (*1|int) 117 } 118 } 119 x: { 120 [_]: { 121 f: (*1|int) 122 } 123 } 124 x: { 125 [_]: { 126 f: (*1|int) 127 } 128 } 129 x: { 130 [_]: { 131 f: (*1|int) 132 } 133 } 134 x: { 135 [_]: { 136 f: (*1|int) 137 } 138 } 139 x: { 140 [_]: { 141 f: (*1|int) 142 } 143 } 144 x: { 145 a0: {} 146 } 147 } 148 -- out/evalalpha/stats -- 149 Leaks: 158 150 Freed: 4 151 Reused: 4 152 Allocs: 158 153 Retain: 0 154 155 Unifications: 6 156 Conjuncts: 268 157 Disjuncts: 156 158 -- diff/-out/evalalpha/stats<==>+out/eval/stats -- 159 diff old new 160 --- old 161 +++ new 162 @@ -1,9 +1,9 @@ 163 -Leaks: 0 164 -Freed: 82 165 -Reused: 74 166 -Allocs: 8 167 +Leaks: 158 168 +Freed: 4 169 +Reused: 4 170 +Allocs: 158 171 Retain: 0 172 173 -Unifications: 4 174 -Conjuncts: 143 175 -Disjuncts: 82 176 +Unifications: 6 177 +Conjuncts: 268 178 +Disjuncts: 156 179 -- out/eval/stats -- 180 Leaks: 0 181 Freed: 82 182 Reused: 74 183 Allocs: 8 184 Retain: 0 185 186 Unifications: 4 187 Conjuncts: 143 188 Disjuncts: 82 189 -- out/eval -- 190 (struct){ 191 x: (struct){ 192 a0: (struct){ 193 f: (int){ |(*(int){ 1 }, (int){ int }) } 194 } 195 } 196 }