Skip to content

Conversation

@gotwarlost
Copy link
Contributor

Previously components were evaluated by creating a megacomponent that imported
JSON, YAML and JSONNET files. This provided little to no context for errors.

We change this to evaluate every component in its own jsonnet VM.
Processing components like this sequentially leads to 30-40% overhead so we need to evaluate
components concurrently. This is done with a default concurrency of 5. The user
can change this number using the persistent --eval-concurrency flag.

This change reduces the time to evaluate a large set of components and produces better messages
that have the failed component name when things do not load correctly.

@gotwarlost gotwarlost force-pushed the eval branch 2 times, most recently from abe1633 to 0c578e6 Compare March 29, 2019 01:21
Previously components were evaluated by creating a megacomponent that imported
JSON, YAML and JSONNET files. This provided little to no context for errors.

We change this to evaluate every component in its own jsonnet VM.
Processing components like this sequentially  leads to 30-40% overhead so we need to evaluate
components concurrently. This is done with a default concurrency of 5. The user
can change this number using the persistent `--eval-concurrency` flag.

This change reduces the time to evaluate a large set of components _and_ produces better messages
that have the failed component name when things do not load correctly.
@gotwarlost gotwarlost merged commit b35e886 into master Mar 29, 2019
@gotwarlost gotwarlost deleted the eval branch March 29, 2019 04:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant