-
Notifications
You must be signed in to change notification settings - Fork 351
Description
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
- …
Metadata
Metadata
Assignees
Labels
Type
Projects
Status