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

feat: More optimal IterateHierarchyV2 and iterateChildrenV2 [#600] #601

Commits on Jul 7, 2024

  1. chore: More optimal IterateHierarchyV2 and iterateChildrenV2 [argopro…

    …j#600]
    
    Closes argoproj#600
    
    The existing (effectively v1) implementations are suboptimal since they don't construct a graph before the iteration. They search for children by looking at all namespace resources and checking `isParentOf`, which can give `O(tree_size * namespace_resources_count)` time complexity. The v2 algorithms construct the graph and have `O(namespace_resources_count)` time complexity. See more details in the linked issues.
    
    Signed-off-by: Andrii Korotkov <[email protected]>
    andrii-korotkov-verkada committed Jul 7, 2024
    Configuration menu
    Copy the full SHA
    d777c9a View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2024

  1. improvements to graph building

    Signed-off-by: Michael Crenshaw <[email protected]>
    crenshaw-dev committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    39bba43 View commit details
    Browse the repository at this point in the history
  2. use old name

    Signed-off-by: Michael Crenshaw <[email protected]>
    crenshaw-dev committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    120afb4 View commit details
    Browse the repository at this point in the history
  3. chore: More optimal IterateHierarchyV2 and iterateChildrenV2 [argopro…

    …j#600]
    
    Closes argoproj#600
    
    The existing (effectively v1) implementations are suboptimal since they don't construct a graph before the iteration. They search for children by looking at all namespace resources and checking `isParentOf`, which can give `O(tree_size * namespace_resources_count)` time complexity. The v2 algorithms construct the graph and have `O(namespace_resources_count)` time complexity. See more details in the linked issues.
    
    Signed-off-by: Andrii Korotkov <[email protected]>
    andrii-korotkov-verkada committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    335ff88 View commit details
    Browse the repository at this point in the history
  4. Merge remote-tracking branch 'andrii/600-more-optimal-iterate-hierarc…

    …hy-and-iterate-children' into iterate-improvements
    
    Signed-off-by: Michael Crenshaw <[email protected]>
    crenshaw-dev committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    1efd9be View commit details
    Browse the repository at this point in the history
  5. finish merge

    Signed-off-by: Michael Crenshaw <[email protected]>
    crenshaw-dev committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    0fb5064 View commit details
    Browse the repository at this point in the history
  6. chore: More optimal IterateHierarchyV2 and iterateChildrenV2 [argopro…

    …j#600]
    
    Closes argoproj#600
    
    The existing (effectively v1) implementations are suboptimal since they don't construct a graph before the iteration. They search for children by looking at all namespace resources and checking `isParentOf`, which can give `O(tree_size * namespace_resources_count)` time complexity. The v2 algorithms construct the graph and have `O(namespace_resources_count)` time complexity. See more details in the linked issues.
    
    Signed-off-by: Andrii Korotkov <[email protected]>
    andrii-korotkov-verkada committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    af08910 View commit details
    Browse the repository at this point in the history
  7. Merge remote-tracking branch 'andrii/600-more-optimal-iterate-hierarc…

    …hy-and-iterate-children' into iterate-improvements
    
    Signed-off-by: Michael Crenshaw <[email protected]>
    crenshaw-dev committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    1d56552 View commit details
    Browse the repository at this point in the history

Commits on Jul 17, 2024

  1. Merge pull request #1 from crenshaw-dev/iterate-improvements

    improvements to graph building
    andrii-korotkov-verkada authored Jul 17, 2024
    Configuration menu
    Copy the full SHA
    837b536 View commit details
    Browse the repository at this point in the history
  2. discard unneeded copies of child resources as we go

    Signed-off-by: Michael Crenshaw <[email protected]>
    crenshaw-dev committed Jul 17, 2024
    Configuration menu
    Copy the full SHA
    703a60d View commit details
    Browse the repository at this point in the history
  3. remove unnecessary comment

    Signed-off-by: Michael Crenshaw <[email protected]>
    crenshaw-dev committed Jul 17, 2024
    Configuration menu
    Copy the full SHA
    19aa0bf View commit details
    Browse the repository at this point in the history
  4. Merge pull request #2 from crenshaw-dev/iterate-improvements

    discard unneeded copies of child resources as we go
    andrii-korotkov-verkada authored Jul 17, 2024
    Configuration menu
    Copy the full SHA
    0f77c57 View commit details
    Browse the repository at this point in the history
  5. make childrenByUID sparse

    Signed-off-by: Michael Crenshaw <[email protected]>
    crenshaw-dev committed Jul 17, 2024
    Configuration menu
    Copy the full SHA
    38701d0 View commit details
    Browse the repository at this point in the history
  6. eliminate duplicate map

    Signed-off-by: Michael Crenshaw <[email protected]>
    crenshaw-dev committed Jul 17, 2024
    Configuration menu
    Copy the full SHA
    8284fb0 View commit details
    Browse the repository at this point in the history
  7. fix comment

    Signed-off-by: Michael Crenshaw <[email protected]>
    crenshaw-dev committed Jul 17, 2024
    Configuration menu
    Copy the full SHA
    5c23ab5 View commit details
    Browse the repository at this point in the history
  8. add useful comment back

    Signed-off-by: Michael Crenshaw <[email protected]>
    crenshaw-dev committed Jul 17, 2024
    Configuration menu
    Copy the full SHA
    8dbcf05 View commit details
    Browse the repository at this point in the history
  9. use nsNodes instead of dupe map

    Signed-off-by: Michael Crenshaw <[email protected]>
    crenshaw-dev committed Jul 17, 2024
    Configuration menu
    Copy the full SHA
    3ef3651 View commit details
    Browse the repository at this point in the history
  10. Merge pull request #3 from crenshaw-dev/iterate-improvements

    make childrenByUID sparse
    andrii-korotkov-verkada authored Jul 17, 2024
    Configuration menu
    Copy the full SHA
    9a98c83 View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2024

  1. remove unused struct

    Signed-off-by: Michael Crenshaw <[email protected]>
    crenshaw-dev committed Jul 18, 2024
    Configuration menu
    Copy the full SHA
    e2fb782 View commit details
    Browse the repository at this point in the history
  2. skip invalid APIVersion

    Signed-off-by: Michael Crenshaw <[email protected]>
    crenshaw-dev committed Jul 18, 2024
    Configuration menu
    Copy the full SHA
    0b6e366 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #4 from crenshaw-dev/reuse-nsnodes

    use nsNodes instead of dupe map
    andrii-korotkov-verkada authored Jul 18, 2024
    Configuration menu
    Copy the full SHA
    d162159 View commit details
    Browse the repository at this point in the history