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

Revisit the Region filter #135

Closed
aborgna-q opened this issue Jun 6, 2024 · 0 comments · Fixed by #162
Closed

Revisit the Region filter #135

aborgna-q opened this issue Jun 6, 2024 · 0 comments · Fixed by #162
Assignees
Labels
enhancement New feature or request perf Performance issue

Comments

@aborgna-q
Copy link
Collaborator

Region and FlatRegion are just NodeFiltered specialisations with methods that filter nodes based on the hierarchy.
This is sometimes inefficient, as it skips possible optimisations we could have:

  • FlatRegion::nodes could return a hierarchy::Children iterator directly, without traversing the full graph.
  • Similarly,Region::nodes could do a direct bfs traversal without reading the cache each time.
  • The RefCell in the Region traversal is a bit iffy. Is it multithreading-safe? Can we replace it with something simpler / with support for parallel access?
@aborgna-q aborgna-q added enhancement New feature or request perf Performance issue labels Jun 6, 2024
@aborgna-q aborgna-q linked a pull request Nov 15, 2024 that will close this issue
@aborgna-q aborgna-q self-assigned this Nov 15, 2024
github-merge-queue bot pushed a commit that referenced this issue Nov 20, 2024
Followup to #157. Avoids using `FilteredGraph` for the implementation of
`Region` and `FlatRegion` and instead implements the graph traits
manually to avoid doing full-graph traversals when we can do
better/faster checks.

Closes #159. Closes #145 (BFS rather than DFS). Closes #135.

BREAKING CHANGE: `Region` and `FlatRegion` are no longer aliases of
FilteredGraph
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request perf Performance issue
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant