On Tue, Aug 18, 2009 at 9:31 AM, Maciej Fijalkowski<fij...@gmail.com> wrote:
>
> On Tue, Aug 18, 2009 at 1:12 AM, Fredrik
> Johansson<fredrik.johans...@gmail.com> wrote:
>>
>> On Tue, Aug 18, 2009 at 8:50 AM, Maciej Fijalkowski<fij...@gmail.com> wrote:
>>>
>>> Hi.
>>>
>>>>
>>>> I think SymPy is an excellent benchmark target. The nature of SymPy
>>>> (or any computer algebra system) is such that any high-level operation
>>>> will exercise most parts of the system. For example
>>>> "integrate(x**3*exp(x)*sin(x), x)" performs ~4 million function calls
>>>> to some 200 functions all over SymPy, and it's a calculation that
>>>> you'd use SymPy for in practice, so it would be a good real-world test
>>>> case.
>>>>
>>>> Also, mpmath might be a good target (mpmath is a subpackage of SymPy).
>>>> There are some microbenchmarks at [1] although I could come up with
>>>> some slightly more complex "real world" calculation if you are
>>>> interested. Mpmath heavily depends on long integer performance in
>>>> particular, but if you use low precision, it will exercise general
>>>> Python performance. For myself, I would be interested in whether
>>>> PyPy's new JIT can beat psyco, which all around makes mpmath ~2x
>>>> faster on top of CPython.
>>>
>>> Long integer performance is not *exactly* on top of my list of stuff to 
>>> look to.
>>> About PyPy JIT beating psyco, yes, but not exactly right now :-)
>>>
>>> I was also wondering what *does not* exercise most of the system and yet
>>> still makes some sort of sense.
>>
>> By wondering, do you mean that you are looking for this (i.e. you are
>> looking for a benchmark that invokes a relatively small amount of
>> code), or are you implicating me as not making sense? :-)
>>
>
> Heh :-) I suppose I'm looking for a benchmark that invokes relatively
> small amount
> of code, but still a bit more than a single loop.
>
> Cheers,
> fijal

A very simple, and equally important, benchmark would be the basic
performance of the Integer and Rational classes.

Integer is just a wrapper for Python ints with some extra type
checking; a JIT should theoretically be able to make

def foo(N):
    while N > 0:
        N -= 1

run as fast if called with foo(1000000) as with foo(sympy.Integer(1000000)).

Fredrik

--~--~---------~--~----~------------~-------~--~----~
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 sympy+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sympy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to