On Feb 8, 1:18 am, Rob Beezer <goo...@beezer.cotse.net> wrote:
> William,
>
> Thanks for all the helpful advice - that'll get me started.
>
> > So you're saying that when somebody changed from  Sage just having
> > "kernel" (the way I implemented it) to having left_kernel and
> > right_kernel methods, they messed things up in such a way that
> > left_kernel is 1000 times slower than right kernel for the above
> > example?
>
> Well, I think maybe the actual mess-up-factor is O(n^2) or O(n^3) or
> something like that. :-)
>
> I'll start at the top in matrix2.pyx and it should be straightforward
> to get the left/right dichotomy straightened out.  That should then
> make my grander plans easier.
>
> Regarding a doctest.  I know they can be tagged as "random" (can't
> recall the details at the moment),

Why? No doctest should be tagger #random unless it can be absolutely
avoided. Maybe you meant #long? But it is is quick there is no point
to do so.

If the output is large you can always limit the output to a couple
rows or columns or even a subset of a couple columns or rows, i.e.
enough to make sure that the test returned the expected result
assuming you are for example over an exact field. Even for numerical
noise we can design the doctest so it is reproducible.

>  so it would be appropriate to put
> in a large random example that *should* finish quickly?  Is there a
> mechanism to determine if it runs too long?  Or do we just assume
> somebody notices the delay?

The timeit framework should catch it, but no high level code to
actually compare the performance between different Sage releases is
implemented.

<SNIP>

Cheers,

Michael
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to