Skip to content

All paths algorithm - #2772

Open
ljeub-pometry wants to merge 9 commits into
db_v4from
all_paths
Open

ljeub-pometry wants to merge 9 commits into
db_v4from
all_paths

Conversation

@ljeub-pometry

@ljeub-pometry ljeub-pometry commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator

What changes were proposed in this pull request?

  • Adds an algorithm for computing all simple paths between a pair of nodes in ascending length
  • Changes exclude_nodes to return a graph with a mask instead of finding all nodes not excluded and adds exclude_edges as well (needed for making the all paths algorithm work efficiently)

Why are the changes needed?

Does this PR introduce any user-facing change? If yes is this documented?

Adds a new algorithm with basic docstrings

How was this patch tested?

Are there any further changes required?

More improvements for pairwise shortest path computations

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'Rust Benchmark'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 2.

Benchmark suite Current: e8e6c26 Previous: 9823ef7 Ratio
lotr_graph/num_edges 6 ns/iter (± 0) 0 ns/iter (± 0) +∞
lotr_graph/num_nodes 6 ns/iter (± 0) 1 ns/iter (± 0) 6
lotr_graph/graph_latest 3 ns/iter (± 0) 0 ns/iter (± 0) +∞
lotr_graph_materialise/materialize 7726466 ns/iter (± 39743) 1564816 ns/iter (± 35303) 4.94
lotr_graph_window_100/num_nodes 19 ns/iter (± 0) 5 ns/iter (± 0) 3.80
lotr_graph_window_100_materialise/materialize 7792745 ns/iter (± 22197) 1669150 ns/iter (± 10700) 4.67
lotr_graph_window_10/has_node_existing 138 ns/iter (± 9) 62 ns/iter (± 11) 2.23
lotr_graph_window_10_materialise/materialize 3371172 ns/iter (± 10855) 971980 ns/iter (± 4278) 3.47
lotr_graph_subgraph_10pc_materialise/materialize 2255689 ns/iter (± 17749) 334634 ns/iter (± 1287) 6.74
lotr_graph_subgraph_10pc_windowed/has_node_existing 144 ns/iter (± 11) 62 ns/iter (± 14) 2.32
lotr_graph_subgraph_10pc_windowed_materialise/materialize 1487693 ns/iter (± 9740) 230399 ns/iter (± 2617) 6.46
lotr_graph_window_50_layered/num_edges_temporal 144859 ns/iter (± 7272) 70121 ns/iter (± 7586) 2.07
lotr_graph_window_50_layered/has_node_existing 392 ns/iter (± 18) 129 ns/iter (± 12) 3.04
lotr_graph_window_50_layered/graph_latest 82125 ns/iter (± 516) 36649 ns/iter (± 916) 2.24
lotr_graph_window_50_layered_materialise/materialize 30024982 ns/iter (± 99139) 3488825 ns/iter (± 24948) 8.61
lotr_graph_persistent_window_50_layered/num_edges_temporal 589972 ns/iter (± 5380) 192686 ns/iter (± 1569) 3.06
lotr_graph_persistent_window_50_layered/has_node_existing 418 ns/iter (± 356) 174 ns/iter (± 83) 2.40
lotr_graph_persistent_window_50_layered/iterate_exploded_edges 3320089 ns/iter (± 39170) 1659940 ns/iter (± 19402) 2.00
lotr_graph_persistent_window_50_layered/graph_latest 129649 ns/iter (± 3054) 57549 ns/iter (± 4809) 2.25
lotr_graph_persistent_window_50_layered_materialise/materialize 51221870 ns/iter (± 115916) 5298035 ns/iter (± 147912) 9.67

This comment was automatically generated by workflow using github-action-benchmark.

@ljeub-pometry
ljeub-pometry marked this pull request as ready for review September 9, 2026 14:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant