Równolegle zapisywać dane na dysku?

Pracuję więc nad biblioteką przetwarzania obrazów C ++ / cli i próbuję zoptymalizować mój kod. Zasadniczo przekazuję bitmapę System :: Drawing :: Bitmap, którą następnie muszę zapisać na dysku, przeprowadzić złożoną analizę i zwrócić wyniki analizy. Pomyślałem, że mogę zapisać obraz na dysku równolegle, aby przyspieszyć rzeczy (mój algorytm nie modyfikuje obrazu). Nie pracowałem jednak z wątkami zbyt wiele, więc chciałem uzyskać informacje na temat tego, jaki jest najlepszy sposób, aby to zrobić.

<code>string ProcessImage(System::Drawing::Bitmap ^bmp, System::String^ targetFile)
{
    bmp->Save(targetFile);
    System::Drawing::Bitmap^ bmp8 = BitmapConvertPixelFormat(bmp, 8); //<-- a function I wrote which converts the 32bpp I am passed into an 8bpp one
    string results = Analyze(bmp8); //<--- takes a good bit of time
    return results;
}
</code>

Proszę, podziel się swoimi myślami. Z góry dziękuję!

questionAnswers(3)

yourAnswerToTheQuestion