forked from meltano/meltano
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
perf: Improve performance when handling large yaml files (meltano#6644)
* Configure yaml at import time * Check against `Mapping` and `Sequence` instead of `dict` and `list` * Use `copy.copy` instead of `copy.deepcopy` in `meltano.core.project_files.deep_merge` * Add load with caching to `meltano.core.yaml` * Simplify locking in `src/meltano/core/project.py` * Use `cached_property` for `Project.project_files` * Add caching to `ProjectFiles.load` to avoid `deep_merge` * Add LRU cache to `Canonical.parse` * Make `integration/validate.sh` executable * Add directory for `meltano-basis` output Without this directory existing before I run the integration test, the test fails. * Add sample large yaml files for testing * Fix `__hash__` and `__eq__` methods of `IdHashBox` * Format test yaml files * Call proper `Canonical` subclass method * Add `Project.clear_cache` * Fix `test_remove_environment` and `test_list_environments` * Fix `test_get_plugin` * Fix `TestTaskSetsService::test_remove` * Make test large YAML file smaller They're too large for these changes to handle. Eventually it would be good for us to update Meltano to be able to handle such large YAML files without issue, but that'll have to come in the future. * Add basic performance test for project with large YAML files * Set acceptable time in basic perf test higher * Fix extra newlines added on Windows * Explain why you would want to clear the `project_files` cache
- Loading branch information
1 parent
0dfe536
commit 40a8066
Showing
25 changed files
with
1,683 additions
and
220 deletions.
There are no files selected for viewing
Empty file.
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.