Thanks Maciej, sys._getframe was introduced by "magicsuper", which I used to avoid refactoring all super() calls. I've done that now and there shouldn't be any more sys._getframe calls. You can pull in this commit from the pypy2 branch.
Unfortunately, this didn't improve performance much. PyPy now takes 26 seconds. Any other ideas? Best regards, Brecht ---- On Sun, 02 Mar 2014 08:19:35 +0100 Maciej Fijalkowski wrote ---- >the first obvious thing that jumps at me is your casual use of >sys._getframe - the JIT aborts in this case and proceeds to the >interpreter (so you pay the price for JITting, while you also pay the >prace for not having compiled assembler). That probably does not >explain everything, but please don't use sys._getframe in production >code if you want the JIT to be fast. > >On Sun, Mar 2, 2014 at 12:34 AM, Brecht Machiels wrote: >> Hello, >> >> I've managed to backport RinohType to Python 2 (took me only a couple of >> hours thankfully). >> >> Results on my Celeron T3000 (Arch Linux x86_64): >> CPython 3.3.4 14 s >> PyPy3 2.1.0-beta1 61 s >> CPython 2.7.6 15 s >> PyPy 2.2.1 35 s >> >> If you want to give it a try (no external dependencies): >> >> git clone --branch pypy2 https://github.com/brechtm/rinohtype.git >> cd rinohtype/examples/rfic2009 >> rm -rf template.ptc; PYTHONPATH=../.. pypy template.py >> >> >> While PyPy2 performs better than PyPy3, it's still much slower than CPython. >> Is RinohType hitting a weak spot in PyPy? Any hints on what I can do to >> improve performance? >> >> Best regards, >> Brecht >> >> >> _______________________________________________ >> pypy-dev mailing list >> pypy-dev@python.org >> https://mail.python.org/mailman/listinfo/pypy-dev > _______________________________________________ pypy-dev mailing list pypy-dev@python.org https://mail.python.org/mailman/listinfo/pypy-dev