On 2008-02-17 19:48, Jerry Coffin wrote:
> 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.
Actually the compiler in the Express editions are exactly the same as in
the other editions, the differences are the libraries (MFC etc.) and
tools that are included. Perhaps there are some differences in the flags
that are used by default but that is easily fixed.
--
Erik Wikström