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
-~----------~----~----~----~------~----~------~--~---

Reply via email to