Hello. We're working on a tracing JIT for PHP using PyPy (https://bitbucket.org/asuhan/happy). It's still in its infancy, but it has a bunch of features already in place and beats Zend & HipHop by a large margin in some microbenchmarks -- sieve (and other arithmetical stuff) and lots of tests based on PHPbench.

However, we’re struggling with poor performance (2x slowdown compared to Zend) for dictionaries -- especially set operations. The implementation in pypy/rpython/lltypesystem/rdict.py seems perfectly fine at a first glance and we’re relying on it for implementing PHP arrays.

pypy-c (built from 43932 changeset) is also about 2x slower than CPython for something like:

a = {}
t = 0
while t != 1000000:
    a[t] = t
    t += 1

While we’re not expecting dictionaries to benefit from JIT magic, it’s a little strange that the “baseline” performance is not up to par. Is there a way of circumventing this issue?

Many thanks for this piece of software and keep up the good work.

--
asuhan
_______________________________________________
pypy-dev mailing list
pypy-dev@python.org
http://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to