GDI+ EXTREMELY faster than C# Image
===

I decided to benchmark reading an image in C#, and in C++, to decide which language to use in a project i'm thinking about making for myself.  
I expected the benchmarks to be extremely close with C++ maybe pushing ahead slightly.

The C# code takes about 300ms each run (I ran each test 100 times), where the C++ code takes about 1.5ms.

So is my C# code wrong? Am I benchmarking it badly? Or is it really just this much slower?

Here's the c# code I used:
<pre><code>Stopwatch watch = new Stopwatch();

watch.Start();
Image image = Image.FromFile(imagePath);
watch.Stop();

Console.WriteLine("DEBUG: {0}", watch.ElapsedMilliseconds);
</code></pre>

And the C++ code pretty much boiled down to this:

<pre><code>QueryPerformanceCounter(&start);
Image * img = Image::FromFile(imagePath);
QueryPerformanceCounter(&stop);
delete img;
return (stop.QuadPart - start.QuadPart) * 1000.0 / freq.QuadPart;
</code></pre>

Regardless of which language, they need to end up in an Image object, as it provides the functionality i'm going to need.