this post was submitted on 02 Jan 2024
393 points (98.5% liked)
Technology
59605 readers
4202 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
ITT: non devs that think multithreading is still difficult.
It's become so trivial in many frameworks/languages nowadays, its starting to actually shifting towards single threading being something you have to do intentionally.
Everything is async by default first class and you have to go out of your way to unparallelize it.
It's being awhile since I have seen anything mainstream that seriously cared about single thread performance enough to make it the most important benchmark.
I care about TDP way more. Your single thread performance doesn't mean shit if your cpu starts to thermal throttle.
Async features in almost all popular languages are a single thread running an event loop (Go being an exception there I believe). Multi threading is still quite difficult to get right if the task isn't trivially parallelizable.
Exactly.
Also every time I've used async stuff, I've pined for proper threads. Continuation spaghetti isn't my bag.
Which language? Usually there's a thread pool where multiple tasks are run in parallel. CPython is a special case due to gil, but we have pypy which has actual parallelism
I've only ever used it in those lua microcontrollers and in Rust with the async keyword.
In lua I doubt they use proper threading due to the GIL. Rust probably can do async with threads, but it just wasn't fun to work with.
Tokio has support for multiple threaded async in rust. As for micro controller, I don't think you can have multiple threads in flight anyways, so that's the best you'll get