
On Tue, May 17, 2011 at 1:24 PM, Armin Rigo <arigo@tunes.org> wrote:
Hi David,
On Sun, May 15, 2011 at 5:21 PM, Armin Rigo <arigo@tunes.org> wrote:
Did you try this with PyPy 1.5 or a recent nightly? I thought that the new type __dict__ implementation should have fixed the problem?
Indeed, with a recent PyPy things are much better. My example still takes 1.5x time the time it takes on CPython 2.7, though...
Well, I cannot reproduce this number... I have no clue how I got it :-(
The original code you posted is actually not relevant to the JIT: it contains no loop. The fact is that it is still 2-3x faster on PyPy than CPython, for GC reasons: our GC is better at handling quickly growing heaps, and the allocated objects are much smaller anyway.
The code I posted used to be really slow in pypy-1.5, because it was trying again and again to JIT it. Now we fixed the issue, and it is again much faster than CPython (this time, about 10x).
Might be CPython 2.6 vs CPython 2.7? There were significant GC changes in 2.7, especially when it comes to O(n^2) behavior.
A bientôt,
Armin. _______________________________________________ pypy-dev mailing list pypy-dev@python.org http://mail.python.org/mailman/listinfo/pypy-dev