Closed
Description
Here is a small example of a performance regression I've noticed between 0.12 and 0.13rc1:
s = pd.Series(np.arange(4096.))
df = pd.DataFrame({i:s for i in range(4096)})
# under 0.12
%timeit df.apply((lambda x: np.corrcoef(x, s)[0, 1]), axis=1)
1 loops, best of 3: 792 ms per loop
# under 0.13rc1
%timeit df.apply((lambda x: np.corrcoef(x, s)[0, 1]), axis=1)
1 loops, best of 3: 1.7 s per loop
These are run on the same machine, with the following pip requirements consistent between the two setups besides pandas 0.12.0 vs 0.13.0rc1:
Cython==0.19.2
Jinja2==2.7.1
MarkupSafe==0.18
Pygments==1.6
Sphinx==1.1.3
argparse==1.2.1
docutils==0.11
ipython==1.0.0
matplotlib==1.3.0
nose==1.3.0
numpy==1.7.1
pyparsing==2.0.1
python-dateutil==2.2
pytz==2013.8
pyzmq==14.0.1
scipy==0.12.0
six==1.4.1
tornado==3.1.1
wsgiref==0.1.2