On 8/10/07, Martin Albrecht <[EMAIL PROTECTED]> wrote:
> > Yeah sure, I didn't mean to hijack the thread. The segfaults are
> > obviously more important than the slownesses. I think your proposal is
> > more likely to succeed if we don't get sidetracked :-)
>
> So let's open up a new thread then.
>
> To summarize: We need something to test speed regressions. Problems we face
> are at least:
> - we need tests
> - we can only compare against previous results on the same machine
> - we need to deal with some uncertainness of the results (e.g. through system
> load)
> - we need code to run the tests and compare with previous results
>
> These are just some random thoughts to get the thread rolling.

Here's a crazy idea.  We decide on an extension to the doctest syntax
that states that a doctest fails if it takes over a certain amount of time
to run on a machine with at least a 2Ghz processor. For example,

sage: 2 + 2   # takes at most 5s

In doctesting, if the comment includes the phrase "takes at most [xxx]s",
then local/bin/sage-doctest will run the doctest but also time it, and if it
takes more than [xxx] seconds, it flags it as an error.

To implement the above, we could replace the above line by the
following Python equivalent lines (which gets run by Python's doctest):

    >>> t = walltime()
    >>> 2 + 2
    >>> if FASTCPU and walltime(t) > 5: assert False, "test xxx takes
too long to run"

What do you think?   This has the feel of a good but easy to use idea
to me, which other
people will poke full of holes, but with sufficient discussion might
lead to something
actually useful.

William

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