Strongly agree.

I'd like to add something. I consider "slowness" a bug. When SAGE does 
something obviously way too slowly, that's almost as bad as a genuine 
bug. Some slownesses are easy to fix, some are not.

One of the things that really worries me is that someone who doesn't 
know the code really intimately, can change something in a way that 
they think improves the code, but that has a dramatic negative effect 
on performance in apparently unrelated areas. A common culprit is 
adding "type-checking" to the beginning of a low-level function. We 
currently don't have any systematic way of even *noticing* these kinds 
of things.

It would be great if we had some coherent way of managing this. The 
first thing that occurs to me is some kind of "docprofile" (like 
doctests, but for checking speed of operations). If this works, it 
might be a good way of spotting "speed regressions". This is probably 
quite hard to set up.... for lots of reasons.... but I'm wondering 
whether people think something like this is feasible.

david

On Aug 10, 2007, at 9:25 AM, Martin Albrecht wrote:

>
> Hi there,
>
> there have been some complaints about the quality of SAGE code 
> recently, so
> this is a proposal how to tackle this problem.
>
> 1.) Everybody fills a bug report about _anything_ annoying, wrong, 
> broken in
> SAGE. Everything! Really, everything! Its easy to close a bug with 
> 'wontfix'
> or 'cannotreproduce' and no one will be mad. The only condition is to 
> search
> the bug reports first to check whether it has been reported already.
>
> I don't know how you handle this, but I often don't fill bug reports 
> because
> (a) I don't care enough or (b) I'll have to fix the bug myself anyway. 
> But I
> usually make notes in the code I am writing. This should change: lots 
> and
> lots of bugreports. Also, fill in the features you are planing to 
> implement
> as a feature request and assign yourself. This way it is transparent 
> who
> wants to do what and it is easier to get in touch.
>
> 2.) We agree on - lets say - one Sunday a month when we all meet on 
> IRC and
> sit down fixing those bugs. No new features only bug squashing! Many 
> projects
> hold events called 'Bug Squashing Party' and this would be our 'party. 
> I.e.
> we go through the bug reports, assign people, fix them and close them 
> (many
> obsolete bug reports on Trac were not properly closed).
>
> Potential refinements:
>
> 3.1) The KDE team has the concept of a "Junior Job". That is a bugfix 
> or a
> feature request someone new to the project could be able to handle. 
> E.g.
> finding an obscure SEGFAULT in code related to libSINGULAR on AMD64 
> machines
> only is definitely no Junior Job, fixing
>
> http://www.sagemath.org:9002/sage_trac/ticket/415
>
> (ZZ.random_element(0) --> crash) is. Btw. I've just fixed and closed 
> it.
>
> The KDE devs simply tag junior jobs with ("JJ:") in the bug 
> description and
> have a nice way to tell people how to get involved easily.
>
> 3.2) Trac should be configured to send out e-mails if something 
> changes for a
> bug that is assigned to me.
>
> Thoughts?
> Martin
>
> -- 
> name: Martin Albrecht
> _pgp: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99
> _www: http://www.informatik.uni-bremen.de/~malb
> _jab: [EMAIL PROTECTED]


--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to