1 |
GCC 3.0 is more standards adhering. |
2 |
|
3 |
GCC 2.95.3 is faster (to compile) because they dont enforce certain |
4 |
coding standard (eg. ANSI, etc). There are many things you can get away |
5 |
with in GCC 2.95 that 3.0 wont let you get away with. |
6 |
|
7 |
Thats what a lot of the extra compile time is doing in 3.0 -- ensuring |
8 |
that your adhering to the standards for C/C++ -- which usually saves |
9 |
your arse at debugging time. |
10 |
|
11 |
I believe 3.0 also made a bunch of advances in optimization (including |
12 |
things such as architecture specific optimizations (ala. -march=athlon), |
13 |
so its working harder to make your code faster. |
14 |
|
15 |
Finally, GCC 3.0 changed alot of things, such as the C++ ABI -- and now |
16 |
they have to support both the old and new ABI's (they did this for many |
17 |
reasons, and apparently, will do it again for 3.1). Because of this, |
18 |
any function reference you make, it must figure out what the old and new |
19 |
version of this function are, so it can look for it in various libraries |
20 |
it includes -- at link time, the version that it DIDN'T need after all |
21 |
is thrown away, and it uses the version it did (which is why you can |
22 |
link against a version of glibc compiled with either gcc 2.95.x or |
23 |
3.0.x). |
24 |
|
25 |
At least, this is why I THINK GCC 3.0 is slower at compiling -- as for |
26 |
runtime speed, there should be little difference, and if GCC did their |
27 |
job right, binaries compiled with 3.0 should actually be faster. |
28 |
|
29 |
On Sun, 2002-04-07 at 06:02, Bart Verwilst wrote: |
30 |
> Howdy |
31 |
> |
32 |
> Yeah, i think a gentoo-1.0-gcc3.x-ix86.iso would be great! |
33 |
> Ofcourse i'm not the person to make this, not quite my area :o) |
34 |
> |
35 |
> And my question still remains, is gcc 3.x slower than gcc 2.95.x? :o) |
36 |
> |
37 |
> See ya! |
38 |
> |
39 |
> On Sunday 07 April 2002 05:29, Preston A. Elder wrote: |
40 |
> || Personally, I'd be very interested to know how you did this 'from |
41 |
> || scratch'. |
42 |
> || |
43 |
> || I myself have done this from the post-bootstrap (but pre emerge system) |
44 |
> || stage on, but I cant bootstrap with 3.0.x, why? |
45 |
> || |
46 |
> || Well, the image the ISO installs has many applications on it, not linked |
47 |
> || statically (eg. tar, etc) -- compiling gcc3.0.4 works fine, but as soon |
48 |
> || as it then compiles glibc 2.2.5 and installs it, nothing else works. |
49 |
> || |
50 |
> || The utilities on the install image look for glibc 2.2.5 compiled with |
51 |
> || gcc 2.95.x. So until there is an install image that has statically |
52 |
> || linked binaries on it, I dont see how a bootstrap can be achieved using |
53 |
> || 3.0.x compilers. |
54 |
> || |
55 |
> || I too, however, have installed a 3.0.x based system. I did the |
56 |
> || bootstrap on 2.95.3, then first thing after bootstrap, I merged gcc |
57 |
> || 3.0.4, and then did my emerge system. As Geert said, a few problems |
58 |
> || along the way, but not many. I too made patches for all the problems I |
59 |
> || found, I submitted them to Geert. The patches I made are ALL backward |
60 |
> || compatable to 2.95.3 (I believe, I've not tested this). But then, I |
61 |
> || could also have compiled a different package set than he did. |
62 |
> || |
63 |
> || On Sat, 2002-04-06 at 07:01, Geert Bevin wrote: |
64 |
> || > Hi all, |
65 |
> || > |
66 |
> || > I finally installed 1.0 from scratch and decided to try it out with gcc |
67 |
> || > 3.0.4 instead of 2.95.3. Along the way I encountered some problems, but |
68 |
> || > surprisingly little. I've fixed everything that needed fixing and sadly |
69 |
> || > some packages are backwards incompatible. For that reason and for the |
70 |
> || > ease of maintenance I've created a dedicated gcc 3 profile. |
71 |
> || > |
72 |
> || > So, for those that want to try this out, just link the default-1.0-gcc3 |
73 |
> || > profile instead of default-1.0 to /etc/make.profile. Note that this will |
74 |
> || > only work for installations from scratch and not for updates since |
75 |
> || > applications that link against libstdc++ v2 require the libraries of gcc |
76 |
> || > v2 and not gcc v3. |
77 |
> || > |
78 |
> || > There are still some packages that don't compile such as galeon and |
79 |
> || > openjade, but these will be fixed in a matter of time since I need them |
80 |
> || > ;-) Feel free to submit fixes too. |
81 |
> || > |
82 |
> || > Best regards, |
83 |
> || > |
84 |
> || > Geert Bevin |
85 |
> || > -- |
86 |
> || > Geert Bevin Uwyn |
87 |
> || > "Use what you need" Lambermontlaan 148 |
88 |
> || > http://www.uwyn.com 1030 Brussels |
89 |
> || > gbevin@××××.com Tel & Fax +32 2 245 41 06 |
90 |
> || > |
91 |
> || > _______________________________________________ |
92 |
> || > gentoo-dev mailing list |
93 |
> || > gentoo-dev@g.o |
94 |
> || > http://lists.gentoo.org/mailman/listinfo/gentoo-dev |
95 |
> || |
96 |
> || Thanks, |
97 |
> |
98 |
> -- |
99 |
> Bart Verwilst |
100 |
> Gentoo Linux Developer, Desktop Team |
101 |
> Gent, Belgium |
102 |
> _______________________________________________ |
103 |
> gentoo-dev mailing list |
104 |
> gentoo-dev@g.o |
105 |
> http://lists.gentoo.org/mailman/listinfo/gentoo-dev |
106 |
-- |
107 |
PreZ |
108 |
Systems Administrator |
109 |
GOTH.NET |
110 |
|
111 |
Goth Code '98: tSKeba5qaSabsaaaGbaa75KAASWGuajmsvbieqcL4BaaLb3F4 |
112 |
nId5mefqmDjmmgm#haxthgzpj4GiysNkycSRGHabiabOkauNSW |
113 |
|
114 |
GOTH.NET - http://www.goth.net |
115 |
Free online resource for the gothic community. |