On Thu, Apr 29, 2010 at 2:27 AM, claudio canepa <[email protected]> wrote:
>
>
> On Thu, Apr 29, 2010 at 3:50 AM, Joe Wreschnig <[email protected]>
> wrote:
>>
>> As the commit message says, about 3x faster, and invalidate is in turn
>> a large part of the cost of updating a sprite's vertices. Python max
>> and min are ridiculously slow because of how much work they do.
>>
>> A quick timeit bears out the 3x claim:
>> $ python -m timeit "a = 1; b = 2; c = max(a, b)"
>> 1000000 loops, best of 3: 0.438 usec per loop
>> $ python -m timeit "a = 1; b = 2; c = a if a > b else b"
>> 10000000 loops, best of 3: 0.153 usec per loop
>>
>
> what about:
>>>> s3 = """\
> ... a=1; b=2
> ... if a>b:
> ...     c=a
> ... else:
> ...     c=b
> ... if a<b:
> ...     d=b
> ... else:
> ...    d=a
> ... """
>>>> t = timeit.Timer(stmt=s3)
>>>> print "%.2f usec/pass" % (1000000 * t.timeit(number=100000)/100000)
> 0.25 usec/pass
>
>>>> s2 = a=1; b=2
>>>> s2 = """\
> ... a=1; b=2
> ... c = a if a>b else b
> ... d = b if a<b else a
> ... """
>>>> t = timeit.Timer(stmt=s2)
>>>> print "%.2f usec/pass" % (1000000 * t.timeit(number=100000)/100000)
> 0.26 usec/pass
>
> The timings are near, but the first doesn't break compat with 2.4
> I dont use so much 2.4, except when there are no binaries for 2.6, like that
> physics lib (pyOde ? pyOgre?)
> It is not so much important for me, but perhaps is better if you state what
> python version will support pyglet.

That was a code snippet to demonstrate the speed difference, not the
actual proposed change.

(I thought we were going to have the discussions of the patches on the
issue tracker?)

-- 
You received this message because you are subscribed to the Google Groups 
"pyglet-users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/pyglet-users?hl=en.

Reply via email to