this post was submitted on 26 Feb 2024
27 points (96.6% liked)

Python

6343 readers
15 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 1 year ago
MODERATORS
 

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 14 comments
sorted by: hot top controversial new old
[–] muntedcrocodile 22 points 8 months ago (3 children)

If i needed speed i wouldnt be programming in python.

[–] eager_eagle 10 points 8 months ago

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

[–] grue 7 points 8 months ago (1 children)

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 3 points 8 months ago

Surly u can use rust these days?

[–] [email protected] 4 points 8 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 20 points 8 months ago

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

[–] eager_eagle 8 points 8 months ago* (last edited 8 months ago)

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

[–] [email protected] 5 points 8 months ago (2 children)

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

[–] [email protected] 2 points 8 months ago

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

[–] [email protected] 0 points 8 months ago (1 children)
[–] [email protected] 1 points 8 months ago

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

[–] eclecticprune 4 points 8 months ago

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

[–] [email protected] 3 points 8 months ago (1 children)

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

[–] [email protected] 2 points 8 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.