From: ak@muc.de
Subject: Re: Performance Ada and C
Date: 1998/07/04
Date: 1998-07-04T00:00:00+00:00 [thread overview]
Message-ID: <m3yaual5ms.fsf@fred.muc.de> (raw)
In-Reply-To: 359D4C6F.5691A370@cl.cam.ac.uk
Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk> writes:
>
> Basically the only difference is that I replaced the macros in the C
> version by inline functions. Are as far as performance and optimization
> are concerned, I just think of inlined functions as a sort of macros
> with type checking, so this should not cause the difference.
At least in the C frontend inline functions are not equivalent to macros
(in contrary to the documenation). The gcc backend seems to miss several
optimizations that it does with C-style macros (mainly CSE). Also the
register allocator (on x86) seems to have some problems with inline functions.
I assume Gnat has the same problem.
egcs-current has a new GCSE pass that might help a bit, but there are
still other problems (e.g. if you work with objects gcc is very bad to
keep small objects in registers if you use inline functions - it always
flushes them at the border of the inline etc.)
-Andi
P.S.: Is something like the Stepanov Benchmark available for Ada95?
next prev parent reply other threads:[~1998-07-04 0:00 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <35921271.E51E36DF@aonix.fr>
[not found] ` <3598358A.73FF35CC@pipeline.com>
[not found] ` <dewar.899298949@merv>
1998-07-03 0:00 ` Performance Ada and C, was Re: Size code Ada and C Van Snyder
1998-07-03 0:00 ` Performance " Markus Kuhn
1998-07-03 0:00 ` Robert Dewar
1998-07-03 0:00 ` Markus Kuhn
1998-07-04 0:00 ` ak [this message]
1998-07-07 0:00 ` Frank Klemm
1998-07-13 0:00 ` Daren Scot Wilson
[not found] ` <m3zpf1tyr8.fsf@zaphod.enst.fr>
[not found] ` <6mtiv0$9j3@gcsin3.geccs.gecm.com>
[not found] ` <dewar.898962846@merv>
[not found] ` <6n8393$hoi$2@platane.wanadoo.fr>
[not found] ` <6n84im$79q@gcsin3.geccs.gecm.com>
[not found] ` <m3u35470ds.fsf@zaphod.enst.fr>
[not found] ` <6n8b7u$9hm@gcsin3.geccs.gecm.com>
[not found] ` <m3vhpk5f0d.fsf@zaphod.enst.fr>
[not found] ` <3597db2d.1017430@news.demon.co.uk>
[not found] ` <EACHUS.98Jun30173656@spectre.mitre.org>
1998-07-03 0:00 ` Size code " John McCabe
1998-07-03 0:00 ` Larry Elmore
1998-07-03 0:00 ` John McCabe
1998-07-07 0:00 ` Robert I. Eachus
[not found] ` <dewar.899298821@merv>
1998-07-07 0:00 ` Robert I. Eachus
[not found] ` <6n7jut$al0$1@nnrp1.dejanews.com>
[not found] ` <6navqt$shc$1@goanna.cs.rmit.edu.au>
[not found] ` <359A53E2.41C6@lanl.gov>
[not found] ` <dewar.899334821@merv>
[not found] ` <6nfp0v$dgl@gcsin3.geccs.gecm.com>
1998-07-02 0:00 ` Ariane 5 failure (Was: Size code Ada and C) Jean-Pierre Rosen
1998-07-03 0:00 ` robin
1998-07-02 0:00 ` William Clodius
1998-07-09 0:00 ` Plenty of unnecessary contraint tests " Frank Klemm
1998-07-09 0:00 ` Robert Dewar
1998-07-10 0:00 ` Frank Klemm
1998-07-10 0:00 ` Ariane 5 failure " Dale Stanbrough
1998-07-10 0:00 ` John McCabe
1998-07-10 0:00 ` Frank Klemm
1998-07-10 0:00 ` Pat Rogers
1998-07-10 0:00 ` Plenty of unnecessary contraint tests " Robert S. White
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox