DoMCを使用して並列foreachループを構築しようとしていますが、奇妙な振る舞いがあります。コードは、このR for foreach forループを含む奇妙な動作
for (file in files) {
do stuff
for (extra in extras) {
do some heavy stuff
}
}
- IはDoMC又はDoParallelをロードすると、ループは一つのコアを利用開始するが、私は%をforeachのためのスイッチのループのときに第二のループでは、すべての4つのコア
- を利用するように見えますdo%私はまったく同じ動作をします。
- 外側のループにforeachを使用し、内側をforループとして残すと、スクリプトは遅くなります。それは4jobsパラレルで始まり、すべて停止し、徐々にCPU使用率が低下します。
私が望むのは、トップループと内部ループを並列化することです。誰が何が起こっているのか知っていますか?私は過去にforeachとdoMCを使用していましたが、以前はこの問題を抱えていませんでした。
答えはよかったです。私は問題が異なるので、新しい質問を投稿しなければならないと考えました。 – Michael
多くの内部的な計算と変換を伴う非常に大きなデータセットを扱う場合、CPUが動作している速度を上げて高速メモリが膨らんでいる可能性が高いです。 'rm()'と 'gc()それがメモリをクリアするかどうかを確認するために、新しいマルチコアプログラムに追いつくことができるかどうかを確認するために、永続メモリ内の配列、フレーム、またはファイルに追加された後に、中間データを消去します。 – sconfluentus