エンティティの大規模なセットに対して反復を実行して、それらがどの程度一致しているかを確認しようとしています
私は最初に書いた(MatchDataは構造体のリストであり、GenerateMatchは2つのエンティティで操作を実行します)
for (int i = 0; i < count; i++)
{
for (int j = i + 1; j < count; j++)
{
MatchData.Add(GenerateMatch(i, j));
Console.WriteLine("Stage :" + i + " ::: " + j);
}
}
これはうまくいきましたが、かなり遅かった
だから私はそれをに変更しました
Parallel.For(0, count, i =>
{
for (int j = i + 1; j < count; j++){
MatchData.Add(GenerateMatch(i, j));
Console.WriteLine("Stage :" + i + " ::: " + j);
}});
これにより膨大なリストが得られることを無視すると、エラーが発生することがあります(常にではありません)。「容量が現在のサイズより小さかった」
並列ライブラリにかなり慣れていないので、私がやっていることはどんなポインタでもより良く実行できると思います(ThreadSafe?)
また、二次的な質問として、iが故障したときに完了したiの数をカウントするにはどうすればよいですか。ありがとう