[Numpy-discussion] Updated benchmark

Paulo J. S. Silva pjssilva at ime.usp.br
Thu Jan 19 04:58:02 CST 2006


Hello,

I am sending an update benchmark table below. I have noticed that in my
benchmarck code for numpy I was using transpose(A) instead of
A.transpose() which introduces an extra function call. A very big
penalty for tiny matrices.

Now the transpose operation doesn't look that bad in numpy when compared
to matlab.

There is still something on this table that I can't understand. Why are
the index operations so expensive in domension 50? If you look closely
you'll see that numpy is faster in dimension 5, much slower in dimension
50 (2.6 times slower) and then the gap decreases in dimension 500 (1.6
slower).

Best,

Paulo

Tests    x.T*y   x*y.T     A*x     A*B   A.T*x    half    2in2

Dimension: 5
Array     0.82    0.22    0.18    0.26    0.33    0.90    1.07
Matrix    4.54    1.41    0.56    0.66    0.99    2.87    4.34
NumArr    2.82    0.66    0.61    0.71    7.54    6.61   10.56
Numeri    1.15    0.34    0.28    0.38    0.66    0.60    0.71
Matlab    1.60    0.39    0.31    0.33    0.35    1.13    0.91

Dimension: 50
Array     9.03    1.95    0.48   16.60    0.98    3.89    4.07
Matrix   45.94    3.55    0.90   17.30    1.67    5.93    7.42
NumArr   29.18    2.47    0.90   18.23   11.86    7.87   11.88
Numeri   11.91    2.13    0.59   17.21    9.27    0.93    3.02
Matlab   16.12    1.81    0.99   16.28    0.70    1.46    1.66

Dimension: 500
Array     1.09    8.05    1.77  151.32    1.89    3.63    3.86
Matrix    4.87    8.16    1.82  151.44    1.94    4.22    4.35
NumArr    3.12    8.19    1.80  151.66   19.83    3.94    5.30
Numeri    1.43    8.18    1.81  151.68   17.52    2.94    4.08
Matlab    1.91    5.07    1.89  150.52    1.84    2.27    2.74






More information about the Numpy-discussion mailing list