Source

evolve-keyboard-layout / README_pypy

Full commit
Usage
=====

To run with pypy under GNU/Linux: 

hg up py2-pypy
wget http://pypy.org/download/pypy-1.3-linux.tar.bz2
tar xf pypy-*.bz2
pypy-1.3/bin/pypy check_neo.py  --evolve 200


Performance
===========

$ time pypy-1.3/bin/pypy check_neo.py  --evolve 200 > /dev/null ; time python check_neo.py --evolve 200 > /dev/null
pypy-1.3/bin/pypy: /usr/lib32/libcrypto.so.0.9.8: no version information available (required by pypy-1.3/bin/pypy)
pypy-1.3/bin/pypy: /usr/lib32/libssl.so.0.9.8: no version information available (required by pypy-1.3/bin/pypy)

real    4m26.407s
user    2m46.296s
sys     0m3.840s

real    9m40.454s
user    6m30.141s
sys     0m1.990s

Nightly builds
==============

Alternatively try the nightlies: 

* 64bit: http://buildbot.pypy.org/nightly/trunk/pypy-c-jit-77321-linux64.tar.bz2
* 32bit (half the memory consumption): http://buildbot.pypy.org/nightly/trunk/pypy-c-jit-76538-linux.tar.bz2
* http://buildbot.pypy.org/nightly/trunk/

They might be quite a bit faster still. 

But keep in mind that these *are* nightlies: keep your cat hidden away and be sure to empty the fridge before trying :)

I had to ln libbz2.so.1 to libbz2.1.0 to make it run: 

$ sudo ln -s /lib64/libbz2.so.1 /lib64/libbz2.so.1.0

Porting the python3 code to pypy
================================

in short: 

# pristine copy of the python3 code
hg up -C default
# run 3to2
lib3to2/3to2 *py -nw
hg diff -r 2c7fed52407d:08571dfbeba3 > manual-fixes.diff
hg import manual-fixes.diff