This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
RE: g++ 3.3 I/O Performance
On Mon, 2003-12-15 at 22:19, lrtaylor@micron.com wrote:
> Which version of GCC are you using (that is, 3.3.0, 3.3.1 or 3.3.2)? From what I understand, there was a bug report for that and it was supposed to have been fixed in 3.3.2, or is slated to be fixed soon. It had to do with the I/O implementation calling a slow system function (something like snprintf or something). Perhaps someone knows better than I, but I know it's definitely not fixed in 3.3.1 or earlier.
Hmm, I can't make it tell me more than 3.3 (unless the dumpspec gives
something that I don't understand). Should I conclude from this that
it's 3.3.0 ?
Cheers,
Torsten
[treuss]asn1tools>g++-3.3 --version
g++-3.3 (GCC) 3.3 (Debian)
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is
NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
[treuss]asn1tools>gcc-3.3 --version
gcc-3.3 (GCC) 3.3 (Debian)
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is
NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
[treuss]asn1tools>dpkg --list | grep g++-3.3
ii g++-3.3 3.3-1.bunk.2 The GNU C++ compiler
[treuss]asn1tools>g++-3.3 -dumpversion
3.3
[treuss]asn1tools>gcc-3.3 -dumpversion
3.3
[treuss]asn1tools>g++-3.3 -dumpspecs
*asm:
%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}
*asm_debug:
%{gstabs*:--gstabs}%{!gstabs*:%{g*:--gdwarf2}}
*asm_final:
%|
*asm_options:
%a %Y %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}
*invoke_as:
%{!S:-o %{|!pipe:%g.s} |
as %(asm_options) %{!pipe:%g.s} %A }
*cpp:
%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}
*cpp_options:
%(cpp_unique_options) %1 %{m*} %{std*} %{ansi} %{W*&pedantic*} %{w}
%{f*} %{O*} %{undef}
*cpp_debug_options:
%{d*}
*cpp_unique_options:
%{C:%{!E:%eGNU C does not support -C without using -E}} %{CC:%{!E:%eGNU
C does not support -CC without using -E}} %{!Q:-quiet} %{nostdinc*} %{C}
%{CC} %{v} %{I*} %{P} %I %{MD:-MD %{!o:%b.d}%{o*:%.d%*}} %{MMD:-MMD
%{!o:%b.d}%{o*:%.d%*}} %{M} %{MM} %{MF*} %{MG} %{MP} %{MQ*} %{MT*}
%{!E:%{!M:%{!MM:%{MD|MMD:%{o*:-MQ %*}}}}} %{!no-gcc:-D__GNUC__=%v1
-D__GNUC_MINOR__=%v2 -D__GNUC_PATCHLEVEL__=%v3}
%{!undef:%{!ansi:%{!std=*:%p}%{std=gnu*:%p}} %P} %{trigraphs} %{remap}
%{g3:-dD} %{H} %C %{D*&U*&A*} %{i*} %Z %i %{E|M|MM:%W{o*}}
*trad_capable_cpp:
cc1 -E %{traditional|ftraditional|traditional-cpp:-traditional-cpp}
*cc1:
%(cc1_cpu) %{profile:-p}
*cc1_options:
%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are
incompatible}} %1 %{!Q:-quiet} -dumpbase %B %{d*} %{m*} %{a*}
-auxbase%{c|S:%{o*:-strip %*}%{!o*: %b}}%{!c:%{!S: %b}} %{g*} %{O*}
%{W*&pedantic*} %{w} %{std*} %{ansi} %{v:-version} %{pg:-p} %{p} %{f*}
%{undef} %{Qn:-fno-ident} %{--help:--help}
%{--target-help:--target-help} %{!fsyntax-only:%{S:%W{o*}%{!o*:-o
%b.s}}} %{fsyntax-only:-o %j} %{-param*}
*cc1plus:
*link_gcc_c_sequence:
%G %L %G
*endfile:
%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s
*link:
%{!static:--eh-frame-hdr} -m elf_i386 %{shared:-shared} %{!shared:
%{!ibcs: %{!static: %{rdynamic:-export-dynamic}
%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}}
%{static:-static}}}
*lib:
%{pthread:-lpthread} %{shared:-lc} %{!shared:%{mieee-fp:-lieee}
%{profile:-lc_p}%{!profile:-lc}}
*libgcc:
%{static|static-libgcc:-lgcc
-lgcc_eh}%{!static:%{!static-libgcc:%{!shared:%{!shared-libgcc:-lgcc
-lgcc_eh}%{shared-libgcc:-lgcc_s%M
-lgcc}}%{shared:%{shared-libgcc:-lgcc_s%M}%{!shared-libgcc:-lgcc}}}}
*startfile:
%{!shared: %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s}
%{!p:%{profile:gcrt1.o%s}
%{!profile:crt1.o%s}}}} crti.o%s %{static:crtbeginT.o%s}
%{!static:%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}
*switches_need_spaces:
*predefines:
*cross_compile:
0
*version:
3.3
*multilib:
. ;
*multilib_defaults:
*multilib_extra:
*multilib_matches:
*multilib_exclusions:
*multilib_options:
*linker:
collect2
*link_libgcc:
%D
*md_exec_prefix:
*md_startfile_prefix:
*md_startfile_prefix_1:
*startfile_prefix_spec:
*cc1_cpu:
%{!mcpu*: %{m386:-mcpu=i386 %n`-m386' is deprecated. Use `-march=i386'
or `-mcpu=i386' instead.
} %{m486:-mcpu=i486 %n`-m486' is deprecated. Use `-march=i486' or
`-mcpu=i486' instead.
} %{mpentium:-mcpu=pentium %n`-mpentium' is deprecated. Use
`-march=pentium' or `-mcpu=pentium' instead.
} %{mpentiumpro:-mcpu=pentiumpro %n`-mpentiumpro' is deprecated. Use
`-march=pentiumpro' or `-mcpu=pentiumpro' instead.
}} %{mintel-syntax:-masm=intel %n`-mintel-syntax' is deprecated. Use
`-masm=intel' instead.
} %{mno-intel-syntax:-masm=att %n`-mno-intel-syntax' is deprecated. Use
`-masm=att' instead.
}
*link_command:
%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S: %(linker) %l %X %{o*} %{A}
%{d} %{e*} %{m} %{N} %{n} %{r} %{s} %{t} %{u*} %{x} %{z} %{Z}
%{!A:%{!nostdlib:%{!nostartfiles:%S}}} %{static:} %{L*}
%(link_libgcc) %o
%{!nostdlib:%{!nodefaultlibs:%(link_gcc_c_sequence)}}
%{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} }}}}}}
> Cheers,
> Lyle
>
> -----Original Message-----
> From: gcc-help-owner@gcc.gnu.org [mailto:gcc-help-owner@gcc.gnu.org]On
> Behalf Of Torsten Reuss
> Sent: Monday, December 15, 2003 2:08 PM
> To: gcc-help@gcc.gnu.org
> Subject: g++ 3.3 I/O Performance
>
>
> Hi,
>
> I'm wondering if anybody can help me on why g++-3.3 is about 80% slower
> than g++-2.95.4 for an I/O intensive program I'm working on.
>
> Now, before I go into the details, that's 80% slower with a call to
> ios::sync_with_stdio(false) inserted already. Without that it was 5
> times slower.
>