html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,performed_via_github_app,issue https://github.com/pydata/xarray/issues/3671#issuecomment-572931220,https://api.github.com/repos/pydata/xarray/issues/3671,572931220,MDEyOklzc3VlQ29tbWVudDU3MjkzMTIyMA==,12862013,2020-01-10T08:40:35Z,2020-01-10T08:40:35Z,CONTRIBUTOR,"Hi @fujiisoup, thx for your response. That is exactly what I needed and what I used to do. But I mistakenly thought that there was a performance penalty to doing this. But the performance decrease turned out to be the result of the order in which I rolled and sliced.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,546791416 https://github.com/pydata/xarray/issues/3671#issuecomment-572556658,https://api.github.com/repos/pydata/xarray/issues/3671,572556658,MDEyOklzc3VlQ29tbWVudDU3MjU1NjY1OA==,12862013,2020-01-09T13:17:29Z,2020-01-09T13:17:29Z,CONTRIBUTOR,"Small update: I was currently using: ``` data = ( data.rolling(x=window_size ).construct(""roll_x"") .rolling(y=window_size ).construct(""roll_y"") .isel(x=slice(window_size - 1, None, stride), y=slice(window_size - 1, None, stride)) .stack(n=(""x"", ""y"")) ) ``` but this was performing quite badly for larger arrays. However after having a look at `DataArrayRolling` and rewriting this piece of code to the following, performance was good. ``` data = ( data.rolling(x=window_size ).construct(""roll_x"") .isel(x=slice(window_size - 1, None, stride)) .rolling(y=window_size ).construct(""roll_y"") .isel(y=slice(window_size - 1, None, stride)) .stack(n=(""x"", ""y"")) ) ``` I saw that `DataArrayRolling.construct()` also uses a slice (`isel`) to create the strided array, so there is not much of a performance penalty of first creating a rolling window with stride 1 and then slicing the data. However, if you want to add strides to the 'Strided rolling' (#3607) it would be nice to still be able to create rolling windows that start at index 0. By the way: feel free to close this issue, if you do not see a need for an alignment option. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,546791416