[pypy-dev] cpyext performance

wlavrijsen at lbl.gov wlavrijsen at lbl.gov
Tue Jul 10 19:38:22 CEST 2012


Hi all,

On Tue, 10 Jul 2012, Maciej Fijalkowski wrote:
> Amaury - not true, we can JIT functions from the start. However, they would
> still accept wrapped arguments. I can think about a simple way to enable
> jitting from the start without the need though.

if the JITted function still requires wrapped arguments, then an additional
C function needs to be generated to be passed as the actual pointer, to receive
the arguments and wrap them.

Generating such a C function by the backend then requires a C-API for the calls
to do the wrapping. That PyPy C-API is a long awaited project. :)

As an aside, would it be sufficient to compile the callback (rather than JIT
it)? I.e. to get code that doesn't have guards or the ability to fallback? The
input args are coming from C, so the types are guaranteed, and if the code is
purely numeric, with no fallback to the interpreter anywhere, then acquiring
the GIL shouldn't be needed.

Best regards,
            Wim
-- 
WLavrijsen at lbl.gov    --    +1 (510) 486 6411    --    www.lavrijsen.net


More information about the pypy-dev mailing list