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ę!