• Womble@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    3
    ·
    edit-2
    4 months ago

    Numpy is written in C.

    Python is written in C too, what’s your point? I’ve seen this argument a few times and I find it bizarre that “easily able to incorporate highly optimised Fortran and C numerical routines” is somehow portrayed as a point against python.

    Numpy is a defacto extension to the python standard that adds first class support for single type multi-dimensional arrays and functions for working on them. It is implemented in a mixture of python and c (about 60% python according to github) , interfaces with python’s c-api and links in specialist libraries for operations. You could write the same statement for parts of the python std-lib, is that also not python?

    Its hard to not understate just how much simpler development is in numpy compared to c++, in this example here the new python version was less than 50 lines and was developed in an afternoon, the c++ version was closing in on 1000 lines over 6 files.

    • FizzyOrange@programming.dev
      link
      fedilink
      arrow-up
      3
      ·
      4 months ago

      Python is written in C too, what’s your point?

      The point is that eliminating the GIL mainly benefits pure Python code. Numpy is already multithreaded.

      I think you may have forgotten what we’re talking about.

      the new python version was less than 50 lines and was developed in an afternoon, the c++ version was closing in on 1000 lines over 6 files.

      That’s a bit suss too tbh. Did the C++ version use an existing library like Eigen too or did they implement everything from scratch?