• hark@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    5 months ago

    A process pool means extra copying of data around which incurs a huge cost and this is made worse by the tendency for parallel-processing-friendly workloads often consisting of large amounts of data.

    • sugar_in_your_tea
      link
      fedilink
      arrow-up
      2
      ·
      5 months ago

      Yup, which is why you should try to limit the copying by designing your parallel processing algorithm around it. If you can’t, you would handle threading with a native library or something and scale vertical instead of horizontal. Or pick a different language if it’s a huge part of your app.

      But in a lot of cases, it’s reasonable to stick with Python and scale horizontally. That has value if you’re otherwise a Python shop.