Improve performance and typing in _protect_dataset_variables_inplace #9069
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Improve performance by removing type and shape checking in
_protect_dataset_variables_inplace
by setting directly toself._data
.The function already has valid variables, there should be no need to recheck when adding small wrapper classes like CopyOnWriteArray and MemoryCachedArray.
variable.data = data does this, and
as_compatible_data
is a known performance bottleneck:xarray/xarray/core/variable.py
Lines 452 to 456 in 447e5a3
Add some typing to make sure strange types are not input to these functions.
whats-new.rst
api.rst