¿Escribiendo datos en disco en paralelo?

Así que estoy trabajando en una biblioteca de procesamiento de imágenes C ++ / cli y estoy tratando de optimizar mi código. Básicamente, se me pasó un System :: Drawing :: Bitmap de la imagen, que luego necesito escribir en el disco, realizar análisis complejos y devolver los resultados del análisis. Pensé que podría escribir la imagen en el disco en paralelo para acelerar las cosas (mi algoritmo no modifica la imagen). Sin embargo, no he trabajado mucho con los subprocesos, así que quería obtener su opinión sobre cuál sería la mejor manera de hacerlo.

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;
}

Por favor, hágame saber sus pensamientos. ¡Gracias de antemano!