Skip to content

Conversation

mtreinish
Copy link
Member

Summary

In #5117 the noise adaptive layout pass was updated to use retworkx
internally for performance. In that PR there were a couple of TODO
comments added about using neighbors methods when they were released.
The retworkx 0.6.0 release was pushed last week so we can update the
usage and remove the TODO comments. The neighbors methods should have
lower overhead since it only returns a list of node indices instead of a
dictionary of (node index, edge weight). This will also get
significantly faster (for large neighbors lists) with
Qiskit/rustworkx#198.

Details and comments

In Qiskit#5117 the noise adaptive layout pass was updated to use retworkx
internally for performance. In that PR there were a couple of TODO
comments added about using neighbors methods when they were released.
The retworkx 0.6.0 release was pushed last week so we can update the
usage and remove the TODO comments. The neighbors methods should have
lower overhead since it only returns a list of node indices instead of a
dictionary of (node index, edge weight). This will also get
significantly faster (for large neighbors lists) with
Qiskit/rustworkx#198.
@mtreinish mtreinish requested a review from a team as a code owner November 18, 2020 14:55
@mtreinish mtreinish added this to the 0.17 milestone Nov 18, 2020
@kdk kdk added the automerge label Dec 8, 2020
@mergify mergify bot merged commit 7972d6c into Qiskit:master Dec 9, 2020
delapuente added a commit to delapuente/qiskit-terra that referenced this pull request Feb 15, 2021
Changes in Qiskit#5411, to use retworkx's neighbors() function, replaces the
returned dict with an iterator. In the dict version, neighbor node indices
are the keys and therefore, they are unique. In the iterator version, node
indices appear multiple times, once per edge in multigraphs.

This commit use a Python set to preserve the semantics of the old version
ensuring the uniqueness of the nodes.
mergify bot added a commit that referenced this pull request Feb 15, 2021
Changes in #5411, to use retworkx's neighbors() function, replaces the
returned dict with an iterator. In the dict version, neighbor node indices
are the keys and therefore, they are unique. In the iterator version, node
indices appear multiple times, once per edge in multigraphs.

This commit use a Python set to preserve the semantics of the old version
ensuring the uniqueness of the nodes.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
@kdk kdk added the Changelog: None Do not include in changelog label Mar 31, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changelog: None Do not include in changelog performance
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants