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

Consider dropping Node::update() method #188

Open
arcondello opened this issue Dec 19, 2024 · 0 comments
Open

Consider dropping Node::update() method #188

arcondello opened this issue Dec 19, 2024 · 0 comments
Labels
bug Something isn't working enhancement New feature or request question Further information is requested or further design needed

Comments

@arcondello
Copy link
Member

arcondello commented Dec 19, 2024

Currently the Node design includes a Node::update() method. This method is called by the node's predecessors if they have updates they want to propagate to the node. In principal this allows nodes to more efficiently check their predecessors for updates or to eagerly update their state. However, as of writing (Dec 2024) no nodes actually use this information, and many nodes don't actually call their successor's update() method.

With this in mind, we should consider dropping the notion entirely. The downside is nodes will need to always check every predecessor for updates on each propagation. And it means that all nodes will update their state lazily rather than eagerly. The upside is one less virtual method call/test. Which in the case of many scalars likely has a noticeable performance difference.

@arcondello arcondello added enhancement New feature or request question Further information is requested or further design needed bug Something isn't working labels Dec 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request question Further information is requested or further design needed
Projects
None yet
Development

No branches or pull requests

1 participant