> One thing to note is that dot uses optimized atlas if available, which
> makes it quite faster than equivalent operations you would do using
> purely numpy. I doubt that's the reason here, since the arrays are
> small, but that's something to keep in mind when performances matter:
> use dot wherever possible, it is generally faster than prod/sum,

This is quite true; I once had a very large matrix  (600 x 200,000)
that I needed to normalize.  Using .sum( ) and /= took about 30
minutes.  When I switched to using dot( ) to do the same operation
(matrix multiplication with a vector of 1's, then turning that into a
diagonal matrix and using dot() again to normalize it), it dropped the
computation time down to about 2 minutes.   Most of the gain was
likely due to ATLAS using all the cores and numpy only using 1, but I
was still impressed.

--Hoyt

++++++++++++++++++++++++++++++++++++++++++++++++
+ Hoyt Koepke
+ University of Washington Department of Statistics
+ http://www.stat.washington.edu/~hoytak/
+ hoy...@gmail.com
++++++++++++++++++++++++++++++++++++++++++
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to