Improve all simple paths multi-target performance#1520
Improve all simple paths multi-target performance#1520IvanIsCoding merged 3 commits intoQiskit:mainfrom
Conversation
Pull Request Test Coverage Report for Build 19041961653Details
💛 - Coveralls |
|
Here is a temporary benchmark's output, where you can see an improvement when comparing The benchmark code for reference: |
IvanIsCoding
left a comment
There was a problem hiding this comment.
Firstly, thanks for the contribution. It seems you ported #577 to petgraph/petgraph#865 and made the optimizations.
It just needs some minor changes, but this should be good to go.
releasenotes/notes/replace-api-for-all-simple-paths-0c44a6c18dbdaaf4.yaml
Outdated
Show resolved
Hide resolved
releasenotes/notes/replace-api-for-all-simple-paths-0c44a6c18dbdaaf4.yaml
Outdated
Show resolved
Hide resolved
Thanks for the comments and they are now all resolved! |
|
This PR unfortunately ties Rustworkx to now having implicit dependencies on the Is there any way the performance improvements in this PR can be kept without transitively pinning the required version of Footnotes
|
|
Answer: yes - #1552. |
This PR continues the work from #1488.
Now that multiple-target support for
all_simple_pathshas been added topetgraph(see all_simple_path_multi and petgraph/petgraph#865), this PR simply update the underlying implementation fromrustworkx_core::connectivity::all_simple_paths_multiple_targetstopetgraph::algo::all_simple_paths_multi.This avoids the need to flatten
DictMapinto aVecand results in better performance and cleaner code.