677
STOP DOING ASYNC (lemmy.world)
submitted 10 months ago by Maven@lemmy.world to c/programmerhumor@lemmy.ml
you are viewing a single comment's thread
view the rest of the comments
[-] RustyNova@lemmy.world 3 points 10 months ago

Honestly I can't wrap my head how to effectively put computation into a thread, even with Tokio.

All I want is something like rayon where you got a task queue and you just yeet tasks into a free thread, and await when you actually need it

Might be too much JS/TS influence on me, or that I can't find a tutorial that would explain in a way that clicks for me

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

Tokio specifically says not to use it for CPU intensive tasks and rayon would be better for this: https://tokio.rs/tokio/tutorial

Speeding up CPU-bound computations by running them in parallel on several threads. Tokio is designed for IO-bound applications where each individual task spends most of its time waiting for IO. If the only thing your application does is run computations in parallel, you should be using rayon. That said, it is still possible to "mix & match" if you need to do both. See this blog post for a practical example

[-] PlexSheep@feddit.de 1 points 10 months ago

Tokio is for concurrency, not parallelism. Use it for IO stuff. They say rayon is good for that, but I haven't used that. If you just want something simple, I'd recommend working with threadpool.

this post was submitted on 28 Jan 2024
677 points (94.8% liked)

Programmer Humor

32706 readers
520 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS