
Differential Dataflow but at what cost? (2017) - mrry
https://github.com/frankmcsherry/blog/blob/master/posts/2017-10-23.md
======
mehrdadn
Is differential a synonym for "dynamic" (or "incremental") here?

~~~
edflsafoiewq
Incremental. I think the problem is this: you have an input that you want to
change a bunch of times

    
    
        input = ...;
        input += d1;
        input += d2;
        input += d3;
    

and you have some output that depends on the input. Whenever the input
changes, the output needs to be recomputed, like this

    
    
        input = ...;     output = f(input);
        input += d1;     output = f(input);
        input += d2;     output = f(input);
        input += d3;     output = f(input);
    

The idea here is to, instead of recomputing the output every time from
scratch, find a function g that will compute the output-difference from the
input-difference

    
    
        input = ...;     output = f(input);
        input += d1;     output += g(d1);
        input += d2;     output += g(d2);
        input += d3;     output += g(d3);
    

And I think if you write f using the combinators from the differential
dataflow framework it will be able to find g automatically for you.

~~~
mehrdadn
Yeah, makes sense. Dynamic breadth first search has been a thing for a while;
it seems like they're just introducing it with a new name. The automatic part
seems cool though!

~~~
hexane360
The idea is that it isn't limited to breadth first searches. It provides a way
to write algorithms such that they are automatically differential in nature.

