Commit 84e72c8
committed
Added a high level cache.
high memory use is a problem in libopenapi, this change moves us a step closer to fixing that. Very reference heavy specs can create an ungodly number of schema proxy calls when the model is being walked.
For example the docusign spec create 4m proxy calls. This is not required as it’s the same ref being called over and over and we already have it after it’s been done once. This change adds a high level cache to prevent the over production of schemas.1 parent 96eaabe commit 84e72c8
8 files changed
Lines changed: 73246 additions & 25 deletions
File tree
- datamodel
- high/base
- low/base
- index
- cache_test
- test_specs
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
| |||
90 | 91 | | |
91 | 92 | | |
92 | 93 | | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
93 | 109 | | |
94 | 110 | | |
95 | 111 | | |
96 | 112 | | |
97 | 113 | | |
98 | 114 | | |
99 | 115 | | |
100 | | - | |
101 | 116 | | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
102 | 133 | | |
103 | 134 | | |
104 | 135 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
179 | 179 | | |
180 | 180 | | |
181 | 181 | | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
26 | 36 | | |
27 | | - | |
28 | | - | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
29 | 45 | | |
30 | 46 | | |
31 | 47 | | |
32 | 48 | | |
33 | 49 | | |
34 | 50 | | |
35 | 51 | | |
36 | | - | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
37 | 55 | | |
38 | 56 | | |
39 | | - | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
40 | 60 | | |
41 | 61 | | |
42 | | - | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
43 | 65 | | |
44 | 66 | | |
45 | 67 | | |
46 | 68 | | |
47 | 69 | | |
48 | | - | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
49 | 73 | | |
50 | 74 | | |
51 | 75 | | |
52 | 76 | | |
53 | 77 | | |
54 | | - | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
55 | 81 | | |
56 | 82 | | |
57 | 83 | | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
58 | 89 | | |
59 | 90 | | |
60 | 91 | | |
61 | 92 | | |
62 | | - | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
63 | 96 | | |
64 | 97 | | |
65 | | - | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
66 | 101 | | |
67 | 102 | | |
68 | 103 | | |
69 | 104 | | |
70 | 105 | | |
71 | 106 | | |
72 | 107 | | |
73 | | - | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
74 | 111 | | |
75 | 112 | | |
76 | | - | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
77 | 116 | | |
78 | 117 | | |
79 | 118 | | |
| |||
82 | 121 | | |
83 | 122 | | |
84 | 123 | | |
85 | | - | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
86 | 127 | | |
87 | 128 | | |
88 | 129 | | |
89 | | - | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
90 | 133 | | |
91 | 134 | | |
92 | | - | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
93 | 138 | | |
94 | 139 | | |
95 | 140 | | |
| |||
98 | 143 | | |
99 | 144 | | |
100 | 145 | | |
101 | | - | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
102 | 149 | | |
103 | 150 | | |
104 | 151 | | |
105 | | - | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
106 | 155 | | |
107 | 156 | | |
108 | | - | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
109 | 160 | | |
110 | 161 | | |
111 | 162 | | |
| |||
119 | 170 | | |
120 | 171 | | |
121 | 172 | | |
122 | | - | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
123 | 176 | | |
124 | 177 | | |
125 | 178 | | |
126 | | - | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
127 | 182 | | |
128 | 183 | | |
129 | 184 | | |
| |||
278 | 333 | | |
279 | 334 | | |
280 | 335 | | |
281 | | - | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
282 | 339 | | |
283 | 340 | | |
284 | 341 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
0 commit comments