This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gcc: speed problem with several g++ versions



Hello,


we made some interesting experience while implementing and testing a software package, which makes use of overloaded operators. One aspect of the implementation is the speed of the resulting binaries. To find the best solution we have tested the following approaches: normal overloading and templates. The example (attachment) contains the source code for 3 programms:

prog     - execution without overloading
progtemp - template based
progover - normal overloading

Compiled with g++ version 3.2 we got the following runtime:
prog       about 2.9 seconds
progtemp   about 2.9 seconds
progover   about 3.5 seconds
It seems clear that the template based implementation should be the one to use.

After recompiling with g++ version 3.4.1 we got a complete different result:
prog       about 2.9 seconds
progtemp   about 15.4 seconds !!!
progover   about 3.5 seconds
This time the template version is not really good. :-(
(Same problem with g++ version 3.3.2 on a different machine)

My questions are:
- Is this a known problem?
- Is there a compiler switch which can solve the problem?

Sincerely yours,

Andreas Kowarz

Attachment: example.tar.bz2
Description: application/bzip

begin:vcard
fn:Andreas Kowarz
n:Kowarz;Andreas
org;quoted-printable:TU Dresden;Institut f=C3=BCr wissenschaftliches Rechnen
adr:;;Fachrichtung Mathematik;Dresden;Sachsen;D-01062;Germany
email;internet:kowarz@math.tu-dresden.de
title:Dipl.-Inf.
tel;work:+49 351 / 463 - 35060
note:ICQ: 165700422
x-mozilla-html:FALSE
version:2.1
end:vcard

Attachment: signature.asc
Description: OpenPGP digital signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]