GCC 4.0.0 Released
busfahrer writes "Version 4.0.0 of the GNU Compiler Collection has been released. You can read the changelog or you can download the source tarball. The new version finally features SSA for trees, allowing for a completely new optimization framework." The changelog is pretty lengthy, and there's updates for every language supported from Ada to Java in addition to the usual flavors of C.
Yes, I was curious what SSA trees are, so I clicked the link. I realize this is slashdot, but do try and overcome your fears and RTFA or just google it to find this paper on SSA. :)
Why didn't the poster just link to a list of mirrors? I don't want my favorite compiler's source to be unavailable =(
Did you not get pleasure out of things being errors in 3.0 that weren't even warnings in 2.95?
At least the maintainers of the ISO C++ standard did.
GCC motto: "What code can we break today?
Blame the standards committee, not the GCC maintainers.
There are a hell of a lot more users that depend on GCC then the paltry Apple userbase.
GCC is pretty much the standard for the industry.. there are faster, and more specialized, but GCC is the standard.
Linux/Unix/BSD/etc, IBM, servers, clients, embedded platforms, all hosts of different computers.
Hell if you just look at the embedded computers there are more of those then all the different desktop computers (Windows + *nix + Apple) put together.
I am curious why this AC's comment was modded troll. Is Debian's release cycle truly so slow that what appears to be an honest curiosity is modded as a troll?
Without automatic vectorization, the performance benefit of compiling for 686 as opposed to 386 is simply minimal. A lot of people have done benchmarks on this, and found out that tuning for 686 with gcc only provides 1-2% improvements in the best case. Keep in mind that current X86 processors execute instructions out-of-order, so instruction scheduling for a specific pipeline is not going to do much (it's very important for in-order machines, though)
The Raven
Does anybody have some informal performance benchmarks between 4.0.0 and the last version? (particularly the runtime of the application)
Are there benchmarks comparing 3 to 4 available? What benefitw would the average user eventually expect from this release? Thanks!
-- IV
http://www.LinuxMedNews.com Revolutionizing Medical Education and Practice.
As I understand it - and I'm sure someone will correct me when I'm wrong - gcc is actually a suite of language-specific "front ends" which reduces a given language to a common intermediate form that is then compiled(and linked, etc) by the "back end" into the executable code. In a way you already have different compilers... they're just all grouped together in one package.
I'd rather be flying
You have no concept of numbers. Both Linux and mac are minor on the desktop but close to 50% of the backend of the internet is handled by unix or unix like systems (not including apple). The vast majority of which use gcc or some derivative.
Unix and its children and cousins on the back and front end probably double the total number of apple boxes out there. If not more so. Hell some numbers suggest that there actually are more linux desktops than mac desktops. Even if its close between apple and linux on the desktop (which is likely) the number of nix systems in use in general at least matches the number on either side (though they are not desktops).
"Two things are infinite: the universe and human stupidity; and I'm not sure about the the universe." --Albert Einstein
You have no concept of numbers. Both Linux and mac are minor on the desktop but close to 50% of the backend of the internet is handled by unix or unix like systems (not including apple). The vast majority of which use gcc or some derivative.
;-)
My concept of numbers is probably fine. Try this, desktops dwarf servers and such. So your 50% of a small number is not all that meaningful.
I know you were just poking fun but--
Standards are the reason that computers are tolerable to use for any purpose.
If a programmer can't be bothered to follow an international standard of his own language, there is no guarantee that the code is future-proof. One can hardly blame the compiler vendor, as we can't expect a compiler to mindlessly maintain backwards compatibility with every weird use of a bug and every bizarre code construct that has ever been supported in the past.
The ability to compile code written for GCC in another compiler is a *good* thing. If it requires informing the programmer that their code has always been broken, then so be it. A little inconvenience is a small price to pay for standards compliance, or should we expect that the GCC authors "embrace and extend" C and other languages until so much code relies on weird GCC nuggets that programmers (and users) are "locked in" to using just that compiler? (But Douglas Adams forbid if Microsoft does the same thing!)
Maybe I am missing something. If so, please enlighten me (This is not a sarcastic remark--I haven't done much research on what 4.0 has broken so I may be way out of line).
Sheesh, for as hard as the GCC authors work, and for as much GCC has improved in the last 10 years, the contributers sure get a lot of flak. Anyone who doesn't contribute code themselves should be greatful (or at least appreciative) of their efforts, even when they do make mistakes.
Computer Science is no more about computers than astronomy is about telescopes. --E. W. Dijkstra
Absolutely.
However, I was referring to the underutilization of Altivec in G4/G5 environments. Whereas SSA will be excellent across platforms, autovectorization will be especially significant on chipsets with powerful vector processors.
Being able to optimize for this hardware, which is not as common or powerful in the x86 world, without much effort is indeed significant.
I do not disagree with your assessment in the relative worth of SSA and vectorization, but I would simply like to clarify my post.
From what I've read, GCC 4 is blazingly fast, _AND_ provides dead code elimination (VERY important for windows users).
So, any ideas of how long till the MINGW port is done?
Well, it's a shame then, that GCC 4.0 cannot even compile KDE. It miscompiles it.
Yeah, it's really too bad that you can't compile stuff on other distros. How do people survive?
No. Being the largest single vendor is not the same as being larger than all other vendors combined. Apple may be larger than RedHat, and larger than Mandrake, and larger than Slackware, and larger than Debian, but that doesn't make Apple bigger than all of them combined.
Infuriate left and right
The backend of the internet compared to the number of desktop machines? Talk about having no concept of numbers.
Lars T.
To the guy who modded me down from perfect to terrible Karma - Apple haters still suck
Mac OS X itself is compiled with GCC 4. That was the point. Hence, all Mac users depend on GCC 4. That's 40 million and counting according to the latest figures.
No, no, and no, jackass! Max OS X Tiger was compiled with gcc 4. Hence all Mac users do not depend on gcc 4. That is not 40 million and counting...it is currently zero. Give it a rest!
Given a choice between free speech and free beer, most people will take the beer.