PERF: Rolling._apply
- [x] closes #42736
- [ ] tests added / passed
- [x] Ensure all linting tests pass, see [here](https://pandas.pydata.org/pandas-docs/dev/development/contributing.html#code-standards) for how to run them
- [ ] whatsnew entry

```
from asv_bench.benchmarks.rolling import *

self = Engine()
self.setup("DataFrame", "float", sum, "cython", "sum")
self.time_rolling_methods("DataFrame", "float", sum, "cython", "sum")

%timeit self.time_rolling_methods("DataFrame", "float", sum, "cython", "sum")
150 µs ± 889 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)  # <- PR
224 µs ± 3.18 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)  # <- master
```

cc @mroeschke 