私は画像のピクセルの浮動小数点[] []を持っています、私はこの画像の各ピクセルで操作を実行します。次のように私の現在の実装は次のようになります。Javaで2次元配列を並列化するには?
float[][] pixels = image.pixels;
for(x = 0; x < pixels[0].length; x++) {
for(y = 0; y < pixels.length; y++) {
//perform operation on pixel
}
}
この実装は非常に遅く、私はforループparallelisingことによってそれをスピードアップしたい、どのように私はこれをやって行くのでしょうか?
最も良い方法は、JDK8を使用してこれらのピクセルをストリームに変換することです。コンテキスト交換のためにメモリ(1MBあたり1MB)と1ピクセルあたりの並列化によるオーバーヘッドが実際には遅くなることがあります。 1つのコアあたり1つのスレッドがあなたができる最高の可能性があります。 – duffymo