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

SiblingMut does lots of cloning and Portgraph-reconstruction #540

Open
acl-cqc opened this issue Sep 18, 2023 · 0 comments
Open

SiblingMut does lots of cloning and Portgraph-reconstruction #540

acl-cqc opened this issue Sep 18, 2023 · 0 comments
Labels
perf Performance issue

Comments

@acl-cqc
Copy link
Contributor

acl-cqc commented Sep 18, 2023

SiblingMut added in #522 does not store a PortGraph. So, when you call say SiblingMut::neighbours....we first build a (SiblingGraph and therefore its) PortGraph. Then we use that to build an iterator. Then, because the PortGraph will disappear before SiblingMut::neighbours returns, we then copy everything out of that iterator.

If we could return the PortGraph along with the iterator, that'd avoid one pass of copying, although we'd still end up building a PortGraph every time. Even this seems tricky though - I've tried various things with ouroboros but never quite got there.

@acl-cqc acl-cqc added P-low perf Performance issue labels Sep 18, 2023
@aborgna-q aborgna-q removed the P-low label May 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
perf Performance issue
Projects
None yet
Development

No branches or pull requests

2 participants