Did you know it takes about 17,000 CPU instructions to print(“Hello”) in Python? And that it takes ~2 billion of them to import a module?

    • grue@lemmy.world
      link
      fedilink
      English
      arrow-up
      7
      ·
      4 months ago

      If I needed speed, I’d be programming in Python but then profiling the performance and re-writing the inner loops and such to call C or BLAS.

    • sugar_in_your_tea@sh.itjust.works
      link
      fedilink
      arrow-up
      4
      ·
      4 months ago

      In fact, Python is still decent even if you do need speed. We compared Python and Rust for algorithm processing, and we got similar-ish numbers when using numba. Rust was certainly faster, but we would need to retrain a lot of our team, and numba was plenty fast.

      Python is fast enough, and if it’s not, there are libraries to get it there.

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

    I doubt it’s useful for performance evaluation, however, if you are writing a paper and want to compare your algorithm to an existing one, this can be handy

    • sugar_in_your_tea@sh.itjust.works
      link
      fedilink
      arrow-up
      2
      ·
      4 months ago

      Eh, maybe? It’s probably only useful for large jumps, and timing is also probably good enough for that as well. With small jumps, instruction execution order matters, so a bigger number could very well be faster if it improves pipelining.

      It’s certainly interesting and maybe useful sometimes, but it’s probably limited to people working on Python itself, not regular users.

  • flatbield@beehaw.org
    link
    fedilink
    English
    arrow-up
    1
    ·
    4 months ago

    Just remember that an optimized C program will run about 100x faster then a similar Python program in a compute bound problem. So yes Python is slow but often good enough.