title: Writing data to disk in parallel?
body: <p>So I am working on a C++/cli image processing library and am trying to optimize my code. Basically, I am passed a System::Drawing::Bitmap of the image, which I then need to write to disk, perform complex analysis on, and return the results of the analysis. I thought that I could write the image to disk in parallel to speed up things (my algorithm does not modify the image). However, I have not worked with threads much, so I wanted to get your input on what the best way to do this would be.</p>
  
  <pre><code>string ProcessImage(System::Drawing::Bitmap ^bmp, System::String^ targetFile)
  {
      bmp-&gt;Save(targetFile);
      System::Drawing::Bitmap^ bmp8 = BitmapConvertPixelFormat(bmp, 8); //&lt;-- a function I wrote which converts the 32bpp I am passed into an 8bpp one
      string results = Analyze(bmp8); //&lt;--- takes a good bit of time
      return results;
  }
  </code></pre>
  
  <p>Please let me know your thoughts.
  Thank you in advance!</p>