31
submitted 10 months ago by rimu@piefed.social to c/python@programming.dev

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?

top 19 comments
sorted by: hot top controversial new old
[-] muntedcrocodile@lemmy.world 23 points 10 months ago

If i needed speed i wouldnt be programming in python.

[-] eager_eagle@lemmy.world 10 points 10 months ago

also, if I needed speed I wouldn't be printing stuff every 100k instructions

[-] grue@lemmy.world 7 points 10 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.

[-] muntedcrocodile@lemmy.world 3 points 10 months ago

Surly u can use rust these days?

[-] sugar_in_your_tea@sh.itjust.works 4 points 10 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.

[-] AnUnusualRelic@lemmy.world 22 points 10 months ago

It's fine, I'm not in a hurry.

[-] eager_eagle@lemmy.world 8 points 10 months ago* (last edited 10 months ago)

so 200 to 800 microseconds on a modern cpu? Fast enough.

[-] Big_Boss_77@lemmynsfw.com 5 points 10 months ago

Is it just me... or is there a lot of python hate lately?

[-] neo@lemmy.hacktheplanet.be 2 points 10 months ago

Nah, my personal hate of indented blocks has been there since the late 90s /s 8-)

[-] furrowsofar@beehaw.org 3 points 10 months ago

Yes, I hate indentation as structure but I hate tracking brackets even more.

[-] furrowsofar@beehaw.org 1 points 10 months ago* (last edited 10 months ago)

Same for me. I have used Python for most things since the late 1990s. Love Python. Have always hated the poor performance... but in my case mostly it was good enough. When it was not good enough, I wrote C code.

Python is good for problems where time to code is the limiting factor. It sucks for compute bound problems where time to execute is the limiting factor. Most problems in my world are time to code limited but some are not.

Python compute performance has always sucked.

[-] Big_Boss_77@lemmynsfw.com 2 points 10 months ago

I get that... I'm not a developer, I'm a network engineer but I use a lot of python in my day to day operations. I always took python to be the "code for non-coders" which made it infinitely more approachable than some of the other languages.

I'm not running the F1 grand prix over here, I'm driving to get groceries, so what if it's not the fastest thing out there. Close enough is good enough for me. And in my experience that's what people are using python for, daily driving.

[-] dozymoe@mastodon.social 0 points 10 months ago
[-] Big_Boss_77@lemmynsfw.com 1 points 10 months ago

Ahh...that makes sense. I bet you're right.

[-] furrowsofar@beehaw.org 1 points 10 months ago* (last edited 10 months ago)

People use Python a lot as a Matlab, Excel/VBA, or R alternative. That was my use for many years. Some of these are compute focused problems and if the dataset is large enough and the computations complex enough then speed can be an issue.

As far as loading packages and printing. Who cares. These are not computationally intensive and are typically IO bound.

[-] eclecticprune@lemmy.world 4 points 10 months ago

While the processor I'm working on right now supports 14MIPS...

[-] andnekon@programming.dev 3 points 10 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 2 points 10 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.

[-] furrowsofar@beehaw.org 1 points 10 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.

this post was submitted on 26 Feb 2024
31 points (97.0% liked)

Python

6486 readers
1 users here now

Welcome to the Python community on the programming.dev Lemmy instance!

📅 Events

PastNovember 2023

October 2023

July 2023

August 2023

September 2023

🐍 Python project:
💓 Python Community:
✨ Python Ecosystem:
🌌 Fediverse
Communities
Projects
Feeds

founded 2 years ago
MODERATORS