ForEach-Object -Parallel
PowerShell 7.0で追加された、入力の各要素を別のランスペースで並列実行するパラメーターセット。
- 概念URI
https://comcomponent.com/knowledge/foreach-object-parallel/
- 別名・表記
- 並列パラメーターセット
- 最終確認日
- 2026-08-01
- 機械可読データ
- JSON-LD
この概念が関わる関係
- ForEach-Object -Parallelはランスペース(runspace)を利用します。ForEach-Object -Parallelは各スクリプトブロックを別のランスペースで実行する / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- ForEach-Object -Parallelは$using:スコープ修飾子を利用します。呼び出し元の変数を並列スクリプトブロックへ渡す場合、$using:スコープ修飾子を使う / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- ForEach-Object -ParallelはThrottleLimitで構成できます。同時に実行するスクリプトブロックの数はThrottleLimit(既定5)で構成でき、7.1以降はランスペースプールのサイズになる / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- ForEach-Object -Parallelは.psm1スクリプトモジュールを前提とします。呼び出し元で定義した関数を並列スクリプトブロック内から使うには、共通処理を.psm1モジュールにして各ランスペースの先頭でImport-Moduleする必要がある / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- ForEach-Object -Parallelを1件あたりが軽い・少件数のワークロードに用いることは推奨されません。1件あたりの処理が軽い、または件数が少ない処理に並列化を使うと、オーバーヘッドで通常より遅くなり得る / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- ForEach-Object -Parallelは待ち時間が支配的な処理に対する本記事の推奨です。ネットワーク待ちやディスクI/O待ちが支配的な処理、マルチコアで意味のある計算処理には並列化の価値がある / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- ForEach-Object -ParallelはMeasure-Commandで確認できます。並列化すべきかどうかは、逐次版と並列版をMeasure-Commandで比較して判断する / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- ハッシュテーブルによる突合はForEach-Object -Parallelより先に行うべきです。突合のハッシュ化などアルゴリズムの改善を先に行ってから、並列化を検討すべきである / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- List[T](System.Collections.Generic.List)はForEach-Object -Parallelより先に行うべきです。配列操作の改善などアルゴリズムの修正を先に行ってから、並列化を検討すべきである / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- ForEach-Object -Parallelを件数の2乗に比例する速度劣化に用いることは推奨されません。計算量がO(n^2)のまま並列化しても、コア数の分しか速くならず効果は限定的である / 確度: 確立した関係 / 確認日: 2026-08-01 出典
この概念を扱う記事
一次資料
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。