2017-03-03 9 views
2

同じ座標系のX、Y、Z値を含む2つの多次元ダブル配列があります。2つの多次元ダブル配列の違いを見つける

配列を比較し、異なる点を新しい 配列/リストに抽出したいと思います。Forループを試しましたが、非常に遅いです。

私の範囲を達成するためのより速い解決策はありますか?

配列フォーマット:

double [100000,3] array1;-->Columns represt X-Y-Z 

double [150000,3] array2;-->Columns represt X-Y-Z 

はここ

+1

あなたは何を試してみることができますか? – pinkfloydx33

+0

さて、ループは最善の方法と思われます。そして、より大きい配列の場合、時間がかかることになります。 –

答えて

2

あなたの問題は、あなたがより良い行うにはいくつかの魔法のアルゴリズムが必要だと思うが、あなたはforloopと右のトラックにすでにあったことが、あり、ありがとうございました。

あなたの配列のサイズについては、これはであり、予期されるは長いタスクであるとします。あなたは、並列に複数のcompareoperationsを実行しているので、あなたは、少し注意する必要があり、結果について

Parallel.ForEach(GetMultipleChunksFromArray(yourArray, yourOtherArray), (chunks) => 
{ 
    //your forloop goes here 
    for (int i = 0; i < chunks.firstArrayChunk.Length; i++) { 
     //comparing logic 
    } 
} 

だから、あなたのforloopを使用することができ、パフォーマンスを最適化するために、あなただけのように平行にそれを使用する必要がありますすべての相違点が追加された並行ディクショナリのようなスレッドセーフな結果が必要です。

+0

並行すると時間が短縮されると思います。私はプログラミングに慣れていないので、私はアイデアを持っていますが、私はそれを適用するのは簡単ではありません。 –

関連する問題