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

ComputeCriticalPath: Use topological sort to speed up function. #2443

Merged

Commits on May 9, 2024

  1. ComputeCriticalPath: Use topological sort to speed up function.

    Use a topological sort to get a sorted list of edges to perform
    the critical path weigth propagation as fast as possible.
    
    The previous version used a data flow algorithm that forced
    the values to be recomputed several times for far too many
    edges on complex build plans.
    
    For example, for a Fuchsia build plan with 93339 edges,
    this reduces the ComputeCriticalPath metric from 1.9s to 80ms!
    
    The unit-tests still pass, and manual testing shows that the
    order of commands does not change before and after this change
    for the example build plan above.
    digit-google committed May 9, 2024
    Configuration menu
    Copy the full SHA
    ef89584 View commit details
    Browse the repository at this point in the history