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

Performance: incremental Evaluation #2855

Open
1 task
myitcv opened this issue Feb 22, 2024 · 0 comments
Open
1 task

Performance: incremental Evaluation #2855

myitcv opened this issue Feb 22, 2024 · 0 comments
Assignees

Comments

@myitcv
Copy link
Member

myitcv commented Feb 22, 2024

Normally, a CUE program is evaluated in its entirety. Some applications, however, such as tools/flow can benefit from incremental evaluation.

The tools/flow package provides a low-level workflow manager based on a CUE configurations. It forms the basis of cue cmd, which provides a cmd/cue-based mechanism for declaring and executing such workflows.

Currently, CUE needs to reevaluate the entire configuration when a cue cmd or tools/flow task returns some new data to the workflow, despite the new data only affecting a (small) specific part of the configuration.

With incremental evaluation, we instead cycle through evaluating the tasks in a configuration, augmenting it with the data returned, but only re-evaluating the bits that have changed.

A similar situation exists for the CUE LSP implementation when the user is making changes to a file as part of a wider configuration: the LSP server needs to minimally re-evaluate to configuration to ensure that diagnostics are responses for code completions are timely.

This performance sub-issue captures details and narrative specific to incremental evaluation-related performance issues. We will post updates and commentary related to this topic below.

The umbrella performance issue captures higher-level performance updates.

Existing closedness-related bug reports/issues

@myitcv myitcv moved this from Backlog to In progress in Evaluator Roadmap Feb 22, 2024
@cue-lang cue-lang locked as resolved and limited conversation to collaborators Feb 22, 2024
@myitcv myitcv mentioned this issue Feb 22, 2024
@myitcv myitcv changed the title Placeholder 6 Performance: incremental Evaluation Feb 22, 2024
@cue-lang cue-lang unlocked this conversation Feb 22, 2024
@myitcv myitcv moved this from In progress to Planned in Evaluator Roadmap Feb 29, 2024
@myitcv myitcv moved this from Planned to Backlog in Evaluator Roadmap Feb 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Backlog
Development

No branches or pull requests

2 participants