# Taking rolling functions seriously

**URL:** <https://discourse.julialang.org/t/taking-rolling-functions-seriously/70257>\
**Category:** Data\
**Tags:** rolling, window\
**Created:** [October 23, 2021, 8:40am UTC](https://discourse.julialang.org/t/taking-rolling-functions-seriously/70257 "2021-10-23T08:40:23Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![JeffreySarnoff](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jeffreysarnoff/32/1980_2.png) [@JeffreySarnoff](https://discourse.julialang.org/u/JeffreySarnoff)\
**Post date:** [October 23, 2021, 8:40am UTC](https://discourse.julialang.org/t/taking-rolling-functions-seriously/70257/1 "2021-10-23T08:40:23Z")

</div>

Generally speaking, a to roll a function over windowed data is to apply that function to consecutive data subspans, where the length (for vector data) of each subspan is given by the window size.

The language has advanced and probably allows improved approaches to coding specific families of rolling functions, Julia contributors have published packages that, properly applied, should enhance the performance of functions used over windowed data.

As the author of [RollingFunctions.jl](https://github.com/JeffreySarnoff/RollingFunctions.jl), I am aware of recurring requests for optimizations and special performance enhancements. While a few of these suggestions are reasonable – particularly speeding the rolling sum – the better gains are to be found where my expertise is as yet not fully formed. And for that, your involvement here is most valued.

Using functions from [VectorizedStatistics.jl](https://github.com/JuliaSIMD/VectorizedStatistics.jl) seems appropriate … should they be defaults or available alternatives? What more generalized advantages follow from good ways of using [Polyester.jl](https://github.com/JuliaSIMD/Polyester.jl)? There are likely opportunities to apply some of the community’s well-developed expertise in other aspects of vectorization and in applicative sub-apportionment.

And all I have overlooked, undernoticed, or know others know better …
