• Successful_Try543@feddit.org
    link
    fedilink
    arrow-up
    0
    ·
    2 months ago

    Does Python have the ability to specify loops that should be executed in parallel, as e.g. Matlab uses parfor instead of for?

    • lime!@feddit.nu
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 months ago

      python has way too many ways to do that. asyncio, future, thread, multiprocessing

      • WolfLink@sh.itjust.works
        link
        fedilink
        arrow-up
        1
        ·
        2 months ago

        Of the ways you listed the only one that will actually take advantage of a multi core CPU is multiprocessing

        • lime!@feddit.nu
          link
          fedilink
          English
          arrow-up
          0
          ·
          2 months ago

          yup, that’s true. most meaningful tasks are io-bound so “parallel” basically qualifies as “whatever allows multiple threads of execution to keep going”. if you’re doing numbercrunching in pythen without a proper library like pandas, that can parallelize your calculations, you’re doing it wrong.

          • WolfLink@sh.itjust.works
            link
            fedilink
            arrow-up
            0
            ·
            edit-2
            2 months ago

            I’ve used multiprocessing to squeeze more performance out of numpy and scipy. But yeah, resorting to multiprocessing is a sign that you should be dropping into something like Rust or a C variant.