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

Reply via email to