第60章へようこそ。
今日のテーマは「rayon」です。
rayonは、Cargoの設定ファイルに書いて取り込む外部のクレートです。
コレクションの要素にかける処理を、複数のコアへ分けて走らせる。
現在のCPUには、コアが複数ある。
だが、イテレータで要素を順に処理するコードは、そのうちの1つしか使わない。
要素が100万個あっても、残りのコアはなにも進めていない。
rayonが引き受けるのは、この使われていないコアへ要素を配り、かかる時間を減らすことだ。
配るには、決めることが増える。
どこで分けるのか。
分けた先で壊れないと誰が確かめるのか。
分けた量が偏ったらどうするのか。
rayonは、これらを書き手が書かなくてよい形で引き受けている。
ただし、分けること自体に代償がある。
今日扱うのは、その引き受け方と代償です。
感想
まだ感想はありません。最初の1件を書きましょう!
スクロール