Differences between pypy2 and 3 and cffi

Ioannis Foufoulas <[email protected]> Tue, 15 Feb 2022 13:35:48 +0200
Newsgroups gmane.comp.python.pypy
Message-ID <[email protected]>
Hi,
I have an embedded function:

@ffi.def_extern()
def toint(input,insize,result):
    for i in range(insize):
        x = ffi.string(input[i])
        result[i] =  float(x) if x else 0
      return 1

It seems that this runs around 30-40% percent slower in PyPy3 than in 2.

Input is a char** c array and result is a float c array. The difference is not in ffi.string 
If having `result[i] = 1 if x else 0` it runs same in both versions. Any ideas?