[PLUG] Qt-Console released (C++ compilers)

Steve Christiansen steveshome at attbi.com
Wed Jul 24 04:27:23 UTC 2002


On Tue, Jul 23, 2002 at 07:13:25PM -0700, Terry Griffin wrote:
> On Tuesday 23 July 2002 06:43 am, Carla Schroder wrote:
> > You can have as many versions of gcc installed as you like, that takes care
> > of kernel compilation.
> >
> > Anyone have any notions on the original question, which may not have been
> > clear: for developing applications in C++,  what compiler do you prefer?
> > The developers I've talked to so far like Kai and Intel for these reasons:
> >
> > -complete support for IA 32 & 64 instructions sets
> > -more support for various C++ libraries and widgets
> > -faster compilation and runtimes
> >
> > That's the story I'm getting so far.
> >
> 
> For C++ there's big difference between gcc 2.x and 3.x. Version 3.x
> is much closer to standard C++. For that reason it is the compiler of
> choice for my present project. This project's source code base will be around
> for a very long time so it will pay to be as forward-compatible as possible.
> Sticking to ANSI C++ provides the best chance for forward-compatibility.
> On the down side, there some risk in using 3.x because it's still fairly
> young, and it's slower to compile code. Supposedly there were some
> performance improvements in 3.1 (mostly in the preprocessor) but I've
> not tried it yet. It looks like Mandrake will be the first distro to use 3.x
> to compile all their code. That should air it out.

Compilation speed is better in 3.1 (compared with 3.0.x), and inlining
is done in a different way.  The RTL inliner in 3.0.x had a reputation
for being overly aggressive, sometimes even reducing performance because
of code bloat.  The inliner in 3.1 is tree-based and uses less aggressive
heuristics.  In fact, one of the problems we had in compiling an IA-64
Linux kernel with GCC 3.1 was that the kernel code assumed certain
functions would be inlined, and they weren't with 3.1.  Fortunately,
GCC provides many command line options to control such things, so a
simple makefile tweak fixed it.

Steve

-- 
Steve Christiansen
Linux/UNIX Software Developer
steveshome at attbi.com
http://steveshome.home.attbi.com
503-641-7096




More information about the PLUG mailing list