Open fujiisoup opened 6 years ago
@fujiisoup in #1457, we added a framework (Airspeed-velocity) for benchmarking xarray operations. It is certainly within the scope of that framework to include indexing performance benchmarks. I just implemented a few IO related benchmarks with the expectation that more issues, like this one, would be added later on.
https://github.com/pydata/xarray/blob/5e801894886b2060efa8b28798780a91561a29fd/xarray/core/dataarray.py#L482-L489
In #1746, we added a validation in
xr.DataArray.__setitem__
whether the coordinates consistency of array, key, and values are checked. In the current implementation, we callxr.DataArray.__getitem__
to use the existing coordinate validation logic, but it does unnecessary indexing and it may decrease the__setitem__
performance if the arrray is multidimensional.We may need to optimize the logic here.
Is it reasonable to constantly monitor the performance of basic operations, such as
Dataset
construction, alignment, indexing, and assignment? (or are these operations too light to make a performance monitor?)cc @jhamman @shoyer