これは興味深いものです。まずセットアップ:
- 8GBのRAM
- ウィンドウズ 7 プロ x64
- VS2010 アルティメット
LINQ/PLINQ を使用してデータを処理するメモリ集約型アルゴリズムがあります。初期の実装は PLINQ に依存していました。単体テストは成功します。しかし、驚くべきことに、PLINQ と LINQ を使用することでどのようなパフォーマンス上の利点が得られるかを確認しようとしているときに、並列処理が無効になっている場合、同じテストが OutOfMemoryException で失敗します。
合理的な説明はありますか?私はそれを一貫して再現できます。私はチェックしませんでしたが、メモリではなく、スレッドモデルに応じて異なる方法で割り当てられるリソースが不足している可能性がありますか? アイデア?