I wrote a #Rust script that is, as expected, taking some time and CPU resources. However I see that it's only using one of my 8 cores(?) (see screenshot).
If I were to use threads in Rust could I use more than one CPU? https://octodon.social/media/YxBLdEj5e0Qg6PcNu5U
So I used #Rust to check the EFF large diceword list for problematic compound words. It only took 11+ hours!
(SPOILER ALERT: I didn't find any!)
@schlink https://doc.rust-lang.org/book/second-edition/ch16-01-threads.html
I do believe you have to make the program parallel by yourself, though there are probably wrappers over these lower-level constructs.
@mathuin right, yeah, for sure I knew I'd need to implement something code-wise. Just wanted to make sure Rust threads would be able to use more than one of my cores.
and re-wrapper, @carey sent me link to : https://github.com/rayon-rs/rayon
Haven't tried it yet though, but it looks really lightweight
right -- my issue is that I wrote my big loop as a `for` loop (like `for word in word_list { do things }`). Can I just do
word_list.par_iter( |word|
do things
)
my code: https://github.com/sts10/half-entropy-word-checker/blob/master/src/main.rs#L46
@schlink if the script’s work can be split across threads then yes, that should be the case, and it should run several times faster.
from what I’ve seen, the easiest way to do this is to use #Rayon, https://github.com/rayon-rs/rayon