私は Elixir の初心者で、Dave Thomas の優れたProgramming Elixirを読み始めています。「pmap」関数の同時実行性をどこまで高めることができるかに興味があったので、2 乗する項目の数を 1,000 から 10,000,000 に繰り返し増やしました。好奇心から、私が行った出力を観察したところhtop
、通常は以下に示すような CPU 使用率でピークに達しました。
本で例を示した後、デイブは次のように述べています。
そして、はい、1,000 のバックグラウンド プロセスを開始し、マシンのすべてのコアとプロセッサを使用しました。
私の質問は、なぜ私のマシンでコア 1、3、5、および 7 だけが点灯しているのかということです。私の推測では、私のiex
プロセスが単一の OS レベルのプロセスであり、OSX がそのプロセスの範囲を管理していることに関係していると思います。それがここで起こっていることですか?すべてのコアがパフォーマンス集約型のタスクに確実に使用されるようにする方法はありますか?