gcc: speed problem with several g++ versions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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@xxxxxxxxxxxxxxxxxx
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 of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux