New submission from Armin Rigo <[email protected]>: A "guard_value" where a lot of different values are seen at run-time can end up badly as a lot of compiled paths. We might try to have a general way to give up in these situations. For now, they are compiled as a linear chain of CMP/JNE, which makes looking up the correct code path potentially very slow; a first fix would be to improve this in x86/assembler.py.
Attached is an example: it runs 10x slower on PyPy than on CPython (and, as expected, 5x slower than with "--jit off"). ---------- files: x.py messages: 6002 nosy: arigo, pypy-issue priority: performance bug status: unread title: Assembler: Linear search in corner cases ________________________________________ PyPy bug tracker <[email protected]> <https://bugs.pypy.org/issue1565> ________________________________________ _______________________________________________ pypy-issue mailing list [email protected] http://mail.python.org/mailman/listinfo/pypy-issue
