fanout_footprint

Function fanout_footprint 

Source
pub fn fanout_footprint(
    base: &Value,
    shared: Option<&SharedDataflow>,
    engines: &[&Engine],
) -> Footprint
Expand 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.