PERF: Rolling.cov/corr by mroeschke · Pull Request #39388 · pandas-dev/pandas (original) (raw)

Will attempt to improve the performance of groupby.rolling next.

       before           after         ratio
     [37b5800a]       [ee9a56c1]
     <master>         <ref/rolling_cov_corr>
-        10.4±2ms       8.90±0.2ms     0.86  rolling.Pairwise.time_pairwise(10, 'cov', True)
-        10.2±1ms       8.52±0.1ms     0.83  rolling.Pairwise.time_pairwise(None, 'cov', True)
-      2.48±0.1ms      1.07±0.01ms     0.43  rolling.Pairwise.time_pairwise(1000, 'cov', False)
-      2.55±0.2ms      1.08±0.02ms     0.42  rolling.Pairwise.time_pairwise(10, 'cov', False)
-     2.33±0.04ms          918±6μs     0.39  rolling.Pairwise.time_pairwise(None, 'cov', False)
-      4.02±0.6ms      1.46±0.02ms     0.36  rolling.Pairwise.time_pairwise(10, 'corr', False)
-      4.08±0.4ms       1.42±0.1ms     0.35  rolling.Pairwise.time_pairwise(1000, 'corr', False)
-     3.69±0.07ms      1.17±0.03ms     0.32  rolling.Pairwise.time_pairwise(None, 'corr', False)

SOME BENCHMARKS HAVE CHANGED SIGNIFICANTLY.
PERFORMANCE INCREASED.

Added a ddof argument to corr which was implicitly accepted (and used) by kwargs before; making it an explicit kwargs in this PR. Will document it after #39219 is in.