[pypy-issue] [issue1436] missed optimization on set contains
Amaury Forgeot d Arc
tracker at bugs.pypy.org
Sat Apr 6 10:58:27 CEST 2013
Amaury Forgeot d Arc <amauryfa at gmail.com> added the comment:
The difference disappears with --jit off.
In rdict.py, ll_dict_lookup() is unrolled only when jit.isconstant(key).
I haven't looked at the traces, but it's possible that in this case, the operation is a direct
access to a known index...
This is not done when the key is in a variable, because of course it may change in the timeit
Maybe the jit could learn about fastlocals that are unlikely to change, because there is no
assignment in the loop?
PyPy bug tracker <tracker at bugs.pypy.org>
More information about the pypy-issue