pub fn fanout_footprint(
base: &Value,
shared: Option<&SharedDataflow>,
engines: &[&Engine],
) -> FootprintExpand description
What a whole fanout retains: the accumulator once, the shared dataflow once, and each subscriber’s own operators — with every shared allocation counted exactly once across all of them.
Summing Engine::footprint over the subscribers is the wrong number once there is a shared
dataflow, and wrong in the direction that flatters nothing: two subscribers’ pages hold the same
ul by Arc, so charging both would report sharing as costing what it saves. This is the
number a fanout estimate should be built from, and docs/26 is where it is.