In article <0ab81bd1-1e5a-43eb-8a7f-bfc9d0148d5c@
28g2000hsw.googlegroups.com>, szhorvat@gmail.com says...
[ ... ]
1) the newer version of VC++ has reduced I/O speed a lot.
I only have VS 2008 Express, so I don't know, but it seems possible.
If you previously said you were using the "Express" edition, I didn't
catch it.
In any case, that's almost certainly the majority of the explanation
right there. Much of what they do in the Express edition of the compiler
is disable nearly _all_ optimization. Since iostreams are templates,
that means most of the code involved is being compiled with virtually no
optimization applied.
Fortunately, this is fairly easy to fix: the full version of the
compiler is included with (among other things) a number of versions of
the Windows SDK. If you care about performance at all, I'd advise
downloading and using that (at least for final builds).
IOW, I suspect (quite strongly) that the difference we're seeing IS
between different version of the compiler; the difference between 7.1
and 8.0 or 9.0 is probably NOT significant, but the difference between
the full, optimizing version of the compiler and the "Express" version
probably is.
tools that are included. Perhaps there are some differences in the flags
that are used by default but that is easily fixed.