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
<[email protected]> 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 -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/pypy-dev.python.org/
Member address: [email protected]

Reply via email to