g'day.

Binary wheels for pygame on pypy for windows are available.
https://github.com/pygame/pygame/issues/423

Instructions on how to install pypy on windows, if you want to play with it
are here:
http://renesd.blogspot.com/2018/03/windows-pypy-pygame-build-for-testing.html

Am very interested to hear how things go?


Homebrew mac:

> brew install sdl sdl_image sdl_mixer sdl_ttf portmidi pypy pypy3
>
pypy3 -m pip install pygame --pre
>


*Nixen.

> pypy -m pip install pygame --pre
>


pypy -m pygame.examples.aliens








On Tue, Mar 20, 2018 at 9:39 AM, René Dudfield <ren...@gmail.com> wrote:

> I ran a python and pygame python ray tracer
> <https://geometrian.com/programming/projects/index.php?project=Ray-Tracer>
> by Ian Mallett.
> https://geometrian.com/programming/projects/index.php?project=Ray-Tracer
>
> On PyPy - 18.6 seconds.
> On Python 2.7 - 9 minutes, 28.1 seconds
>
> 30x faster :)
>
>
>
> On Mon, Mar 19, 2018 at 4:25 PM, MrGumm <stabbingfin...@gmail.com> wrote:
>
>> Pretty cool, sir. Thank you. :)
>>
>> On 3/19/2018 2:19 AM, René Dudfield wrote:
>>
>> Hi,
>>
>> TLDR; I'm at the pypy sprint, and working through the remaining
>> pygame-on-pypy-cpyext issues.
>> https://youtu.be/WN1slc5O8os
>>
>>
>> Surprisingly to me... it's already usable. That is pygame (same one that
>> runs on cpython), works on pypy through its C extension API. pypy has good
>> support for the CPython API (through a recompile) now.
>>
>> There was an issue with events stopping keyboard/mouse/etc from working.
>> Lots of details in this issue describing the changes needed, so I hope
>> other extensions encountering this will find it useful.
>> https://github.com/pygame/pygame/issues/419
>>
>> But now that's fixed, every pygame app I tried on it has worked.
>>
>> Why is this exciting?
>>
>> This is exciting to me because:
>>
>>    - pure python code being fast on pypy(after warmup), also mixed with
>>    the fast bits in C/asm.
>>    - cpyext is getting faster in pypy. There is already work and
>>    discussion towards it being faster than CPython.
>>    - maintaining one pygame code base is easier than maintaining several
>>    (pygame cffi/ctypes/cython, ...).
>>    - with one code base it should be fast on both pygame, and pypy(in
>>    time).
>>
>> Here's our old pal solarwolf from early 2000s running on pypy.
>> https://youtu.be/WN1slc5O8os
>>
>> Still lots of work to do (especially around PixelArray buffers and such).
>> Then of course, there is the issue of binary wheels, so that  `*pip
>> install pygame*`  works without needing to compile things from source.
>>
>> How is the speed? (when do we use this tool? Is it fast enough?)
>>
>> If your code is already quite well optimized, and not spending much time
>> in python, you can't expect to see an improvement. However, if you are
>> pushing boundaries in your python code, you can expect very good increases.
>>
>> Some examples where you can expect it to be faster:
>>
>>    - if profiling and a pygame function (like blit) isn't at the top of
>>    the slow bits.
>>    - collision detection (if you aren't using fancy algorithms).
>>    - a pure python ray caster.
>>    - writing a music synthesizer in python python.
>>
>> Where it can be slower.
>>
>>    - if you are going into C code for a lot of small operations. Like
>>    when using rect.
>>
>> For me, I'm interested mostly in this for a physics art project which was
>> really slow, and also for a software music synth written in pure python.
>> Even more interesting is running pypy as a separate process for these
>> tasks, and run the gui process with CPython.
>>
>>
>>
>> ciao,
>>
>>
>>
>

Reply via email to