On Tue, Feb 15, 2022 at 3:36 AM Ioannis Foufoulas <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
   https://mail.python.org/mailman/listinfo/pypy-dev



I converted this to an issue https://foss.heptapod.net/pypy/pypy/-/issues/3682 with some timings and analysis of what might be happening.

Matti

_______________________________________________
pypy-dev mailing list
pypy-dev@python.org
https://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to