Последние пару недель я работал над обновление
Rayon — моей экспериментальной библиотеки для
параллелизма данных в Rust.
Я вполне доволен тем, как идёт разработка, так что я решил объяснить к чему я пришёл в блог посте.
Цель Rayon — сделать добавление параллелизма в последовательный код простым, так, чтобы любой цикл
for
или итератор можно было бы заставить работать в несколько потоков. Например если у вас есть такая цепочка итераторов:
let total_price = stores.iter() .map(|store| store.compute_price(&list)) .sum()
то вы можете сделать её работу параллельной просто поменяв обычный
«последовательный итератор» на
«параллельный итератор» из Rayon:
let total_price = stores.par_iter() .map(|store| store.compute_price(&list)) .sum()
Читать дальше →
Комментариев нет:
Отправить комментарий