Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for reusing Graph node values if their inputs haven't changed #6059

Merged
merged 8 commits into from
Jul 6, 2018

Commits on Jul 3, 2018

  1. Record Generation values per Node, and increment them by comparing …

    …a Node's result to a stored `previous_result`.
    stuhood committed Jul 3, 2018
    Configuration menu
    Copy the full SHA
    902e3a9 View commit details
    Browse the repository at this point in the history
  2. Make invalidation test more useful by having the context record which…

    … Nodes ran, and having Nodes include a Context.id in their output.
    stuhood committed Jul 3, 2018
    Configuration menu
    Copy the full SHA
    f9bfec0 View commit details
    Browse the repository at this point in the history
  3. Record dependency Generations when we complete a Node, for comparison…

    … after we dirty a Node.
    
    TODO: Storing these in a Vec on the state is potentially less efficient
    than storing them on the edges in the graph, since that avoids a bunch of
    extra allocation.
    stuhood committed Jul 3, 2018
    Configuration menu
    Copy the full SHA
    e01ed55 View commit details
    Browse the repository at this point in the history
  4. Implement cleaning of Nodes by comparing the stored generation values…

    … to newly computed generations.
    stuhood committed Jul 3, 2018
    Configuration menu
    Copy the full SHA
    074141a View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    c42e376 View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2018

  1. Add an invalidate_all method to invalidate all filesystem nodes. Ea…

    …gerly prune edges for cleared entries, and lazily prune edges for dirtied entries.
    stuhood committed Jul 6, 2018
    Configuration menu
    Copy the full SHA
    9d090ac View commit details
    Browse the repository at this point in the history
  2. Retry create while concurrent invalidations are occurring. The Sche…

    …duler already accounts for this, and it seems reasonable to not bake retry into the Graph.
    stuhood committed Jul 6, 2018
    Configuration menu
    Copy the full SHA
    82ea6b8 View commit details
    Browse the repository at this point in the history
  3. Review feedback.

    stuhood committed Jul 6, 2018
    Configuration menu
    Copy the full SHA
    4a3befe View commit details
    Browse the repository at this point in the history