Re: [pypy-dev] Differences between pypy2 and 3 and cffi

2022-02-17 Thread Carl Friedrich Bolz-Tereick
We found the problem on the issue that Matti made. It's the float call itself that has gotten slower. It's been fixed and we improved the PyPy2 performance in the process. Tomorrow's nightly should have the change. Cheers, CF On 17.02.22 20:55, Yannis Foufoulas wrote: Nothing changes, the orig

Re: [pypy-dev] Differences between pypy2 and 3 and cffi

2022-02-17 Thread Yannis Foufoulas
Nothing changes, the original implementation was int(float(x)) if x else 0 However, I so that the overhead was the same if not using int. ⁣Λήψη του BlueMail για Android ​ Στις 16 Φεβ 2022, 06:24 ,και ώρα 06:24 ,Dan Stromberg έγραψε: >I doubt this is an expected result for Pypy3. > >But what if

Re: [pypy-dev] Differences between pypy2 and 3 and cffi

2022-02-15 Thread Matti Picus
On Tue, Feb 15, 2022 at 3:36 AM Ioannis Foufoulas wrote: 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

Re: [pypy-dev] Differences between pypy2 and 3 and cffi

2022-02-15 Thread Dan Stromberg
I doubt this is an expected result for Pypy3. But what if you use: result[i] = float(x) if x else 0.0 ...to make result be of homogeneous type? On Tue, Feb 15, 2022 at 3:36 AM Ioannis Foufoulas wrote: > Hi, > I have an embedded function: > > @ffi.def_extern() > def toint(input,insize,result):

[pypy-dev] Differences between pypy2 and 3 and cffi

2022-02-15 Thread Ioannis Foufoulas
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 ar