[Numpy-discussion] Execution time difference between 2.7 and 3.2 using numpy
Jens Nielsen
jenshnielsen at gmail.com
Wed Mar 20 11:06:47 EDT 2013
The python3 version is compiled without any optimised library and is
falling back on a slow version. Where did you get this installation from?
Jens
On Wed, Mar 20, 2013 at 3:01 PM, Colin J. Williams
<cjwilliams43 at gmail.com>wrote:
> On 20/03/2013 10:30 AM, Frédéric Bastien wrote:
> > Hi,
> >
> > win32 do not mean it is a 32 bits windows. sys.platform always return
> > win32 on 32bits and 64 bits windows even for python 64 bits.
> >
> > But that is a good question, is your python 32 or 64 bits?
> 32 bits.
>
> Colin W.
> >
> > Fred
> >
> > On Wed, Mar 20, 2013 at 10:14 AM, Daπid <davidmenhur at gmail.com> wrote:
> >> Without much detailed knowledge of the topic, I would expect both
> >> versions to give very similar timing, as it is essentially a call to
> >> ATLAS function, not much is done in Python.
> >>
> >> Given this, maybe the difference is in ATLAS itself. How have you
> >> installed it? When you compile ATLAS, it will do some machine-specific
> >> optimisation, but if you have installed a binary chances are that your
> >> version is optimised for a machine quite different from yours. So, two
> >> different installations could have been compiled in different machines
> >> and so one is more suited for your machine. If you want to be sure, I
> >> would try to compile ATLAS (this may be difficult) or check the same
> >> on a very different machine (like an AMD processor, different
> >> architecture...).
> >>
> >>
> >>
> >> Just for reference, on Linux Python 2.7 64 bits can deal with these
> >> matrices easily.
> >>
> >> %timeit mat=np.random.random((6143,6143)); matinv= np.linalg.inv(mat);
> >> res = np.dot(mat, matinv); diff= res-np.eye(6143); print
> >> np.sum(np.abs(diff))
> >> 2.41799631031e-05
> >> 1.13955868701e-05
> >> 3.64338191541e-05
> >> 1.13484781021e-05
> >> 1 loops, best of 3: 156 s per loop
> >>
> >> Intel i5, 4 GB of RAM and SSD. ATLAS installed from Fedora repository
> >> (I don't run heavy stuff on this computer).
> >>
> >> On 20 March 2013 14:46, Colin J. Williams <cjw at ncf.ca> wrote:
> >>> I have a small program which builds random matrices for increasing
> matrix
> >>> orders, inverts the matrix and checks the precision of the product.
> At some
> >>> point, one would expect operations to fail, when the memory capacity is
> >>> exceeded. In both Python 2.7 and 3.2 matrices of order 3,071 area
> handled,
> >>> but not 6,143.
> >>>
> >>> Using wall-clock times, with win32, Python 3.2 is slower than Python
> 2.7.
> >>> The profiler indicates a problem in the solver.
> >>>
> >>> Done on a Pentium, with 2.7 GHz processor, 2 GB of RAM and 221 GB of
> free
> >>> disk space. Both Python 3.2.3 and Python 2.7.3 use numpy 1.6.2.
> >>>
> >>> The results are show below.
> >>>
> >>> Colin W.
> >>>
> >>> aaaa_ssss
> >>> 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)]
> >>> order= 2 measure ofimprecision= 0.097 Time elapsed (seconds)=
> >>> 0.004143
> >>> order= 5 measure ofimprecision= 2.207 Time elapsed (seconds)=
> >>> 0.001514
> >>> order= 11 measure ofimprecision= 2.372 Time elapsed (seconds)=
> >>> 0.001455
> >>> order= 23 measure ofimprecision= 3.318 Time elapsed (seconds)=
> >>> 0.001608
> >>> order= 47 measure ofimprecision= 4.257 Time elapsed (seconds)=
> >>> 0.002339
> >>> order= 95 measure ofimprecision= 4.986 Time elapsed (seconds)=
> >>> 0.005747
> >>> order= 191 measure ofimprecision= 5.788 Time elapsed (seconds)=
> >>> 0.029974
> >>> order= 383 measure ofimprecision= 6.765 Time elapsed (seconds)=
> >>> 0.145339
> >>> order= 767 measure ofimprecision= 7.909 Time elapsed (seconds)=
> >>> 0.841142
> >>> order= 1535 measure ofimprecision= 8.532 Time elapsed (seconds)=
> >>> 5.793630
> >>> order= 3071 measure ofimprecision= 9.774 Time elapsed (seconds)=
> >>> 39.559540
> >>> order= 6143 Process terminated by a MemoryError
> >>>
> >>> Above: 2.7.3 Below: Python 3.2.3
> >>>
> >>> bbb_bbb
> >>> 3.2.3 (default, Apr 11 2012, 07:15:24) [MSC v.1500 32 bit (Intel)]
> >>> order= 2 measure ofimprecision= 0.000 Time elapsed (seconds)=
> >>> 0.113930
> >>> order= 5 measure ofimprecision= 1.807 Time elapsed (seconds)=
> >>> 0.001373
> >>> order= 11 measure ofimprecision= 2.395 Time elapsed (seconds)=
> >>> 0.001468
> >>> order= 23 measure ofimprecision= 3.073 Time elapsed (seconds)=
> >>> 0.001609
> >>> order= 47 measure ofimprecision= 5.642 Time elapsed (seconds)=
> >>> 0.002687
> >>> order= 95 measure ofimprecision= 5.745 Time elapsed (seconds)=
> >>> 0.013510
> >>> order= 191 measure ofimprecision= 5.866 Time elapsed (seconds)=
> >>> 0.061560
> >>> order= 383 measure ofimprecision= 7.129 Time elapsed (seconds)=
> >>> 0.418490
> >>> order= 767 measure ofimprecision= 8.240 Time elapsed (seconds)=
> >>> 3.815713
> >>> order= 1535 measure ofimprecision= 8.735 Time elapsed (seconds)=
> >>> 27.877270
> >>> order= 3071 measure ofimprecision= 9.996 Time elapsed
> >>> (seconds)=212.545610
> >>> order= 6143 Process terminated by a MemoryError
> >>>
> >>>
> >>>
> >>> _______________________________________________
> >>> NumPy-Discussion mailing list
> >>> NumPy-Discussion at scipy.org
> >>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
> >>>
> >> _______________________________________________
> >> NumPy-Discussion mailing list
> >> NumPy-Discussion at scipy.org
> >> http://mail.scipy.org/mailman/listinfo/numpy-discussion
> > _______________________________________________
> > NumPy-Discussion mailing list
> > NumPy-Discussion at scipy.org
> > http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20130320/65f81c56/attachment.html>
More information about the NumPy-Discussion
mailing list