Skip to content

Commit fac9a30

Browse files
mpvlmvdan
authored andcommitted
internal/core/adt: cache reqSets in nodeContext
This should reduce the amount of work done by a factor of the depth of a tree. This doesn't change the essence of the algorithm. Issue #3881 Signed-off-by: Marcel van Lohuizen <[email protected]> Change-Id: I2ad81c04b28b64b9736463489039806a4493e5bd Reviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1213607 Reviewed-by: Matthew Sackman <[email protected]> Unity-Result: CUE porcuepine <[email protected]> TryBot-Result: CUEcueckoo <[email protected]>
1 parent 3eef4dd commit fac9a30

32 files changed

+87
-67
lines changed

cue/testdata/benchmarks/issue1684.txtar

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ Unifications: 5541
7272
Conjuncts: 25871
7373
Disjuncts: 6534
7474

75-
CloseIDElems: 123173
75+
CloseIDElems: 85815
7676
NumCloseIDs: 4115
7777
-- out/evalalpha --
7878
(struct){
@@ -159,7 +159,7 @@ diff old new
159159
+Conjuncts: 25871
160160
+Disjuncts: 6534
161161
+
162-
+CloseIDElems: 123173
162+
+CloseIDElems: 85815
163163
+NumCloseIDs: 4115
164164
-- diff/-out/evalalpha<==>+out/eval --
165165
diff old new

cue/testdata/benchmarks/issue2176.txtar

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ Unifications: 377
6969
Conjuncts: 1527
7070
Disjuncts: 8
7171

72-
CloseIDElems: 137
72+
CloseIDElems: 134
7373
NumCloseIDs: 731
7474
-- diff/-out/evalalpha/stats<==>+out/eval/stats --
7575
diff old new
@@ -95,7 +95,7 @@ diff old new
9595
+Conjuncts: 1527
9696
+Disjuncts: 8
9797
+
98-
+CloseIDElems: 137
98+
+CloseIDElems: 134
9999
+NumCloseIDs: 731
100100
-- out/eval/stats --
101101
Leaks: 90

cue/testdata/benchmarks/issue3514.txtar

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ Unifications: 69
4646
Conjuncts: 7053
4747
Disjuncts: 2386
4848

49-
CloseIDElems: 6
49+
CloseIDElems: 3
5050
NumCloseIDs: 6876
5151
-- diff/-out/evalalpha/stats<==>+out/eval/stats --
5252
diff old new
@@ -72,7 +72,7 @@ diff old new
7272
+Conjuncts: 7053
7373
+Disjuncts: 2386
7474
+
75-
+CloseIDElems: 6
75+
+CloseIDElems: 3
7676
+NumCloseIDs: 6876
7777
-- out/eval/stats --
7878
Leaks: 27

cue/testdata/benchmarks/issue3517.txtar

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ Unifications: 49
6464
Conjuncts: 123
6565
Disjuncts: 0
6666

67-
CloseIDElems: 34
67+
CloseIDElems: 32
6868
NumCloseIDs: 13
6969
-- diff/-out/evalalpha/stats<==>+out/eval/stats --
7070
diff old new
@@ -90,7 +90,7 @@ diff old new
9090
+Conjuncts: 123
9191
+Disjuncts: 0
9292
+
93-
+CloseIDElems: 34
93+
+CloseIDElems: 32
9494
+NumCloseIDs: 13
9595
-- out/eval/stats --
9696
Leaks: 2

cue/testdata/benchmarks/listdedup.txtar

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ Unifications: 40
4343
Conjuncts: 98
4444
Disjuncts: 24
4545

46-
CloseIDElems: 599
46+
CloseIDElems: 281
4747
NumCloseIDs: 22
4848
-- out/evalalpha --
4949
(struct){
@@ -486,7 +486,7 @@ diff old new
486486
+Conjuncts: 98
487487
+Disjuncts: 24
488488
+
489-
+CloseIDElems: 599
489+
+CloseIDElems: 281
490490
+NumCloseIDs: 22
491491
-- out/eval/stats --
492492
Leaks: 0

cue/testdata/benchmarks/typocheck.txtar

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Unifications: 703
3131
Conjuncts: 1305
3232
Disjuncts: 0
3333

34-
CloseIDElems: 133991
34+
CloseIDElems: 31712
3535
NumCloseIDs: 210
3636
-- diff/-out/evalalpha/stats<==>+out/eval/stats --
3737
diff old new
@@ -57,7 +57,7 @@ diff old new
5757
+Conjuncts: 1305
5858
+Disjuncts: 0
5959
+
60-
+CloseIDElems: 133991
60+
+CloseIDElems: 31712
6161
+NumCloseIDs: 210
6262
-- out/eval/stats --
6363
Leaks: 0

cue/testdata/comprehensions/issue837.txtar

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ Unifications: 61
7474
Conjuncts: 101
7575
Disjuncts: 8
7676

77-
CloseIDElems: 19
77+
CloseIDElems: 17
7878
NumCloseIDs: 17
7979
-- out/evalalpha --
8080
Errors:
@@ -406,7 +406,7 @@ diff old new
406406
+Conjuncts: 101
407407
+Disjuncts: 8
408408
+
409-
+CloseIDElems: 19
409+
+CloseIDElems: 17
410410
+NumCloseIDs: 17
411411
-- out/eval/stats --
412412
Leaks: 16

cue/testdata/comprehensions/pushdown.txtar

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2132,7 +2132,7 @@ Unifications: 578
21322132
Conjuncts: 965
21332133
Disjuncts: 32
21342134

2135-
CloseIDElems: 237
2135+
CloseIDElems: 210
21362136
NumCloseIDs: 176
21372137
-- diff/-out/evalalpha/stats<==>+out/eval/stats --
21382138
diff old new
@@ -2158,7 +2158,7 @@ diff old new
21582158
+Conjuncts: 965
21592159
+Disjuncts: 32
21602160
+
2161-
+CloseIDElems: 237
2161+
+CloseIDElems: 210
21622162
+NumCloseIDs: 176
21632163
-- out/eval/stats --
21642164
Leaks: 63

cue/testdata/cycle/builtins.txtar

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ Unifications: 399
265265
Conjuncts: 731
266266
Disjuncts: 38
267267

268-
CloseIDElems: 162
268+
CloseIDElems: 116
269269
NumCloseIDs: 189
270270
-- diff/-out/evalalpha/stats<==>+out/eval/stats --
271271
diff old new
@@ -291,7 +291,7 @@ diff old new
291291
+Conjuncts: 731
292292
+Disjuncts: 38
293293
+
294-
+CloseIDElems: 162
294+
+CloseIDElems: 116
295295
+NumCloseIDs: 189
296296
-- out/eval/stats --
297297
Leaks: 25

cue/testdata/cycle/chain.txtar

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1705,7 +1705,7 @@ Unifications: 931
17051705
Conjuncts: 4994
17061706
Disjuncts: 1615
17071707

1708-
CloseIDElems: 47735
1708+
CloseIDElems: 20288
17091709
NumCloseIDs: 1535
17101710
-- diff/-out/evalalpha/stats<==>+out/eval/stats --
17111711
diff old new
@@ -1731,7 +1731,7 @@ diff old new
17311731
+Conjuncts: 4994
17321732
+Disjuncts: 1615
17331733
+
1734-
+CloseIDElems: 47735
1734+
+CloseIDElems: 20288
17351735
+NumCloseIDs: 1535
17361736
-- out/eval/stats --
17371737
Leaks: 56

0 commit comments

Comments
 (0)