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 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 <https://bluemail.me> Στις 16 Φεβ 2022 ,και ώρα 06:24 ,Dan Stromberg <drsali...@gmail.com <mailto:drsali...@gmail.com>> έγραψε: 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 < johnf...@gmail.com <mailto:johnf...@gmail.com>> 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 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? _______________________________________________ pypy-dev mailing list pypy-dev@python.org <mailto:pypy-dev@python.org> https://mail.python.org/mailman/listinfo/pypy-dev <https://mail.python.org/mailman/listinfo/pypy-dev> _______________________________________________ pypy-dev mailing list pypy-dev@python.org https://mail.python.org/mailman/listinfo/pypy-dev
_______________________________________________ pypy-dev mailing list pypy-dev@python.org https://mail.python.org/mailman/listinfo/pypy-dev