Hi Riccardo! On Thu, Jun 26, 2008 at 11:39 PM, Riccardo Gori <[EMAIL PROTECTED]> wrote: > > On Thursday 26 June 2008 19:42:20 Kirill Smelkov wrote: >> On Sun, Jun 22, 2008 at 11:45:51AM +0200, Ondrej Certik wrote: >> > On 6/21/08, Riccardo Gori <[EMAIL PROTECTED]> wrote: >> > > On Saturday 21 June 2008 11:10:20 Ondrej Certik wrote: >> > > > On Fri, Jun 20, 2008 at 4:54 PM, Riccardo Gori <[EMAIL PROTECTED]> > wrote: >> > > > > Hello, >> > > > > other matrix speedup; simple but a lot faster :-) >> > > > > >> > > > > It also adds evalf, fix for issue 873 >> > > > >> > > > The patch looks good to me. Kirill or Mateusz, feel free to apply. I >> > > > cannot do it right now, as here they are blocking ssh connections and >> > > > I don't have time to setup some ssh over http transport. >> > > > >> > > > Ondrej >> > > >> > > Thanks for the review Ondrej, I'm sending another patch that includes >> > > also the fix for expand() duplication, the new evalf(), two new tests >> > > and some big speedups of transpose and multiply(). If it's good enough >> > > please apply that one instead of the other one I sended. >> > >> > Thanks a lot. Unfortunately, I cannot apply till Tuesday. I promise >> > I'll sort everything out when I get home. Till then, Kirill and >> > Mateusz please apply reviewed patches and all others (Fredrik:) please >> > review each others patches. >> >> Riccardo, Ondrej, >> >> Sorry, I was busy to death and offline all that time, sorry. >> >> Riccardo, May I ask you to put timing numbers when you propose >> performance related patch next time? >> >> This way it would be easier for others to see how big/small a >> particuacular speedup is -- e.g. as here: >> >> http://hg.sympy.org/sympy/rev/fa487034bbb1 > > Hello Kirill, > sorry! In the next patch I'll post the numbers with the patch, for this time > I'm just sending some comparison between rev 2149 and 2140 here on the > mailing list. > > - Transpose with a 100x100 matrix > Old: > %timeit M.T > 10 loops, best of 3: 253 ms per loop > New: > %timeit M.T > 10 loops, best of 3: 18.3 ms per loop > > - Multiply with a 20x20 matrix > Old: > %timeit M*M > 10 loops, best of 3: 486 ms per loop > New: > %timeit M*M > 10 loops, best of 3: 133 ms per loop > > - zeronm() a 100x100 matrix > Old: > %timeit zeronm(100,100) > 10 loops, best of 3: 77 ms per loop > New: > %timeit zeronm(100,100) > 10 loops, best of 3: 63.8 ms per loop > > - applyfunc() with a 50x50 matrix > Old: > %timeit M.applyfunc(lambda i: i+1) > 10 loops, best of 3: 191 ms per loop > New: > %timeit M.applyfunc(lambda i: i+1) > 10 loops, best of 3: 19 ms per loop > > - Matrix-number multiplication with a 50x50 matrix > Old: > %timeit M*2 > 10 loops, best of 3: 260 ms per loop > New: > %timeit M*2 > 10 loops, best of 3: 19.5 ms per loop > > - Construction of a 100x100 matrix from a list: > Old: > %timeit Matrix(100,100,range(10000)) > 10 loops, best of 3: 85 ms per loop > New: > %timeit Matrix(100,100,range(10000)) > 10 loops, best of 3: 72.3 ms per loop
Thanks for the timings. The speedup by your patch was so obvious:), that I think in this case it was not necessary. This is more important in 5% speedups/slowdowns and similar. Ondrej --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sympy" group. To post to this group, send email to sympy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sympy?hl=en -~----------~----~----~----~------~----~------~--~---