• wheezy@lemmy.ml
    link
    fedilink
    arrow-up
    42
    arrow-down
    1
    ·
    edit-2
    5 hours ago

    I know people joke around about this a lot. But I was blown away by a recent switch to I did from using cv2 with python to using cv2 with C++.

    I had literally hundreds of thousands of images to analyze for a dataset. My python script would have taken 12 hours.

    I ported it to C++ and it literally destroyed it in 20 minutes.

    I’m sure I was doing something that really wasn’t optimized well for python. I know somewhere in the backend it probably was using a completely different library with multi thread optimization. Or maybe turbojpg is just garbage in python. I’m still not even sure what the bottleneck was. I don’t know enough to really explain why.

    But holy shit. I never had that much of a performance difference in such a simple task.

    Was very impressed.

    • bitwolf@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 hour ago

      I had a similar experience processing PDFs of building plans. 4-8k PDFs, took 5-10minutes in Python.

      I ended up switching to node.js and it processed the same PDFs in 120 seconds.

      Over the years I only really find Python useful for interviewing and occasionally in ci pipelines.

    • jsomae@lemmy.ml
      link
      fedilink
      arrow-up
      21
      ·
      4 hours ago

      Exactly what this comic is saying. C++ can handle in 20 minutes what takes python 12 hours, but something gets destroyed.

      • wheezy@lemmy.ml
        link
        fedilink
        arrow-up
        7
        ·
        edit-2
        3 hours ago

        Was a personal project. But absolutely. Half my job is trying to explain why something is taking so long when in reality I actually it’s already done I just don’t want to do nothing for the next few days.

        Managers never really know. And other engineers don’t care. It’s all about balancing expectations.