Hi Armin,
sort of, yes, but even the linear sequence of ifs in the iterative
version is bad. The iterative version compiles 70 traces, recursive one
190. Both kind of bad, but the performance is still ok (see other mail).
Cheers,
CF
On 2024-09-18 23:30, Armin Rigo wrote:
Hi,
On Wed, 18 Sept 2024 at 23:06, CF Bolz-Tereick via pypy-dev
<pypy-dev@python.org> wrote:
Can you share how you are running this function? I tried a few variants, and
pypy is often faster than CPython on my attempts, so the rest of your code is
necessary to find out what's wrong.
I would call that code THE example of where an inlining, tracing JIT
doesn't work. It's recursive, with a dozen unpredictable places where
the recursion can occur. Unless the heuristics are good enough to
stop *all* inlinings of this function inside itself, then we just get
an explosion of traced paths, right?
Armin
_______________________________________________
pypy-dev mailing list -- pypy-dev@python.org
To unsubscribe send an email to pypy-dev-le...@python.org
https://mail.python.org/mailman3/lists/pypy-dev.python.org/
Member address: arch...@mail-archive.com