public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/19642] New: streaming doubles is very slow compared to sprintf
@ 2005-01-26 14:27 joerg dot richter at pdv-fs dot de
  2005-01-26 14:27 ` [Bug libstdc++/19642] " pinskia at gcc dot gnu dot org
                   ` (33 more replies)
  0 siblings, 34 replies; 35+ messages in thread
From: joerg dot richter at pdv-fs dot de @ 2005-01-26 14:27 UTC (permalink / raw)
  To: gcc-bugs

$ g++ -v
Configured with: ../gcc-3.4.2/configure --prefix=/tools/pkg/gcc/3.4.2 --enable-
languages=c,c++ --with-ld=/bin/ld --with-as=/bin/as --disable-threads
Thread model: aix
gcc version 3.4.2

/// t.cc

#include <iostream>
#include <cstdio>

using namespace std;

int main( int argc, char** argv )
{
  std::ios_base::sync_with_stdio( false );

  int count = 100000;
  if( argc > 1 )
    for( int i = 0; i < count; ++i )
      std::cout << (double)i;
  else
    for( int i = 0; i < count; ++i )
    {
      char buf[50];
      sprintf( buf, "%g", (double)i );
      std::cout << buf;
    }
  return 0;
}

///

$ g++ -o t t.cc

$ time t > /dev/null
real    0m0.07s
user    0m0.05s
sys     0m0.00s

$ time t cout > /dev/null
real    0m4.22s
user    0m2.60s
sys     0m1.60s

The std::ios_base::sync_with_stdio( false ); seems to have no effect.

Note: On i686-pc-linux-gnu, both cout and sprintf/<<(char*) take the same time.

Using the AIX system g++ 2.9-aix51-020209, there is also no difference (both 
are fast).

-- 
           Summary: streaming doubles is very slow compared to sprintf
           Product: gcc
           Version: 3.4.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: joerg dot richter at pdv-fs dot de
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: powerpc-ibm-aix5.2.0.0
  GCC host triplet: powerpc-ibm-aix5.2.0.0
GCC target triplet: powerpc-ibm-aix5.2.0.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19642


^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2005-02-02 16:48 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-01-26 14:27 [Bug c++/19642] New: streaming doubles is very slow compared to sprintf joerg dot richter at pdv-fs dot de
2005-01-26 14:27 ` [Bug libstdc++/19642] " pinskia at gcc dot gnu dot org
2005-01-26 14:34 ` pinskia at gcc dot gnu dot org
2005-01-26 14:47 ` pcarlini at suse dot de
2005-01-26 14:56 ` pcarlini at suse dot de
2005-01-26 15:00 ` joerg dot richter at pdv-fs dot de
2005-01-26 15:10 ` pcarlini at suse dot de
2005-01-26 15:18 ` joerg dot richter at pdv-fs dot de
2005-01-26 15:22 ` pcarlini at suse dot de
2005-01-26 15:37 ` pcarlini at suse dot de
2005-01-26 15:41 ` joerg dot richter at pdv-fs dot de
2005-01-26 15:45 ` pcarlini at suse dot de
2005-01-26 16:00 ` joerg dot richter at pdv-fs dot de
2005-01-26 16:17 ` pcarlini at suse dot de
2005-01-26 17:34 ` pcarlini at suse dot de
2005-01-26 17:34 ` pcarlini at suse dot de
2005-01-26 19:31 ` dje at gcc dot gnu dot org
2005-01-27  8:09 ` joerg dot richter at pdv-fs dot de
2005-01-27 11:12 ` pcarlini at suse dot de
2005-01-27 12:25 ` pcarlini at suse dot de
2005-01-27 12:33 ` pcarlini at suse dot de
2005-01-27 12:40 ` joerg dot richter at pdv-fs dot de
2005-01-27 12:47 ` pcarlini at suse dot de
2005-01-27 12:54 ` joerg dot richter at pdv-fs dot de
2005-01-27 12:58 ` pcarlini at suse dot de
2005-01-27 15:05 ` joerg dot richter at pdv-fs dot de
2005-01-27 15:59 ` pcarlini at suse dot de
2005-01-27 16:39 ` bkoz at gcc dot gnu dot org
2005-01-27 16:57 ` pcarlini at suse dot de
2005-01-28  7:54 ` joerg dot richter at pdv-fs dot de
2005-01-28  9:58 ` pcarlini at suse dot de
2005-01-30 14:10 ` cvs-commit at gcc dot gnu dot org
2005-02-02 15:43 ` pcarlini at suse dot de
2005-02-02 16:47 ` cvs-commit at gcc dot gnu dot org
2005-02-02 16:48 ` pcarlini at suse dot de

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).