@@ -91,14 +91,17 @@ Architecture
9191 It is built by :meth: `.Network._build_execution_steps() ` based on
9292 the subgraph `dag `.
9393
94- There is a single type of *instruction *, :class: `_EvictInstruction `:,
95- which evicts items from `solution ` as soon as they are not needed
96- further down the dag, to reduce memory footprint while computing.
94+ The only *instruction * step is for performing `eviction `.
95+
96+ evict
97+ eviction
98+ The :class: `_EvictInstruction ` `steps ` erase items from
99+ `solution ` as soon as they are not needed further down the dag,
100+ to reduce memory footprint while computing.
97101
98102 solution
99103 A :class: `.Solution ` created internally by :meth: `.NetworkOperation.compute() `
100- to hold the values of the `inputs `, and those of the generated
101- (intermediate and possibly overwritten) `outputs `.
104+ to hold the values both `inputs ` & `outputs `, and the status of *executed * operations.
102105 It is based on a :class: `collections.ChainMap `, to keep one dictionary
103106 for each `operation ` executed +1 for inputs.
104107
@@ -129,7 +132,8 @@ Architecture
129132
130133 plan
131134 execution plan
132- Class :class: `.ExecutionPlan ` perform the `execution ` phase.
135+ Class :class: `.ExecutionPlan ` perform the `execution ` phase which contains
136+ the `dag ` and the `steps `.
133137
134138 `Compile `\e d *execution plans * are cached in :attr: `.Network._cached_plans `
135139 across runs with (`inputs `, `outputs `, `predicate `) as key.
@@ -152,13 +156,19 @@ Architecture
152156 The :class: `.NetworkOperation ` class holding a `network ` of `operation `\s .
153157
154158 needs
155- A list of names of the compulsory/optional values an operation's
159+ A list of names of the compulsory/optional values or ` sideffects ` an operation's
156160 underlying callable requires to execute.
157161
158162 provides
159163 A list of names of the values produced when the `operation `'s
160164 underlying callable executes.
161165
166+ sideffects
167+ Fictive `needs ` or `provides ` not consumed/produced by the underlying function
168+ of an `operation `, annotated with :class: `.sideffect `.
169+ A *sideffect * participates in the solution of the graph but is never
170+ given/asked to/from functions.
171+
162172 prune
163173 pruning
164174 Method :meth: `.Network._prune_graph() ` extracts a subgraph `dag ` that
0 commit comments