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

Optimize live execution of modified graphs #9485

Merged
merged 15 commits into from
Apr 26, 2022

Conversation

aparajit-pratap
Copy link
Contributor

Purpose

This implementation tries to optimize live execution of modified graphs as per the following design:
https://docs.google.com/document/d/1k7bJ8jO9QeBz5YjY5MbfFB7v7b1NJJwav7if1nfes_Y/edit

Re-execution of modified graphs is optimized only for the case of modified inputs where the inputs are primitive values only. As a future optimization we can include cases (2) a statement is redefined and (3) a function is redefined.

Declarations

Check these if you believe they are true

  • The code base is in a better state after this PR
  • Is documented according to the standards
  • The level of testing this PR includes is appropriate
  • User facing strings, if any, are extracted into *.resx files
  • All tests pass using the self-service CI.
  • Snapshot of UI changes, if any.
  • Changes to the API follow Semantic Versioning, and are documented in the API Changes document.

FYIs

@saintentropy

@aparajit-pratap
Copy link
Contributor Author

Merged by mistake, reverted in #12834

aparajit-pratap added a commit that referenced this pull request May 19, 2022
* optimization of execution of modified graphs

* fix live execution tests for modified inputs

* code cleanup

* code fix

* code fixes

* mark added subtrees as input subtrees

* Fix incorrect merge conflict flix

* Changes to fix build

* Run second exection via ApplyUpdate similar to previous run model

* add support for string input

* Ignore unsupported inputs (dropdown, datetime, etc)

* update for case with modified UI node

* support multiple modified inputs

* reset stackframe pointer after removing LX register

* cleanup

* cleanup

* revert breaking change of converting from struct to class

* cleanup update register for deleted ASTs

* make subtree a class again at the risk of breaking API for users

* keep Subtree a public struct

* optimize

Co-authored-by: Craig Long <[email protected]>
Co-authored-by: Craig Long <[email protected]>
@QilongTang QilongTang changed the title [DNM] Optimize live execution of modified graphs Optimize live execution of modified graphs Jun 16, 2022
@QilongTang QilongTang added DNM Do not merge. For PRs. and removed DNM Do not merge. For PRs. labels Jun 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DNM Do not merge. For PRs.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants