std::cin, std::cerr, std::clog behaviour
Nathan Myers
ncm-nospam@cantrip.org
Fri Oct 24 05:03:00 GMT 2003
On Fri, Oct 24, 2003 at 10:12:08AM +1000, Gary Hughes wrote:
> I have recently upgraded from gcc 2.9.3 to gcc 3.3 and have noticed a
> difference in the behaviour of these streams I was not expecting.
>
> Under 2.95.3 writing a string such as "blah blah" to any of these streams
> would result in a single call to write(). Under 3.3 this behaviour is the
> same for std::cout, but std::cerr and std::clog call write() for each
> character in the string.
Does your program call std::ios::sync_with_stdio(false) before
performing any I/O?
In any case, most of the effort that has gone into optimizing I/O in
libstdc++ will bear fruit in the gcc-3.4 release. Earlier 3.x releases
have had (decreasingly) embarassing performance.
Nathan Myers
ncm@cantrip.org
More information about the Libstdc++
mailing list