Newsletters Select newsletters below and click the button to sign up!
Internetnews BloggersRecent Entries
ArchivesMonthly ArchivesSearch The Blog
« Is Ubuntu Bigger than Debian now? |
Sean Michael Kerner Blog
| FreeBSD 7.2 hits second release candidate stage »
GCC 4.4 improves open source compiler with Graphite From the 'who doesn't use GCC?' files:
GCC, originally was an acronym for GNU C Compiler, and has changed in recent years to stand for simply the GNU Compiler Collection, as it supports more languages beyond just C.
Compilers are critical tools that compile source code into object code.One of the most popular open source programs (technically Free Software) in the world got a major boost this week. GCC 4.4 adds in lots of new features the biggest of which is the Graphite Framework. What Graphite adds to GCC is a new engine for loop optimizations. GCC 4.4 also extends the support for the upcoming C++Ox standard. The GCC 4.3 release that came out in March of 2008 was the first GCC release to being preliminary experimental support for C++Ox. From a command line point of view there are a number of new command line switches that provide better optimization. What does that all mean? Well it means that (some) programs that are compiled with GCC (and that's a lot) will now benefit from the improved optimizations and could possibly as a result become faster themselves. It never ceases to amaze me how with every new GCC release, software vendors a few months later will come out and say how their software is now faster as a result. 0 TrackBacksListed below are links to blogs that reference this entry: GCC 4.4 improves open source compiler with Graphite. TrackBack URL for this entry: https://swarm.jupitermedia.com/mt-tb.cgi/7918 4 CommentsLeave a comment |
||
"It never ceases to amaze me how with every new GCC release"
please.. GCC speed has regressed since 2.95.
4.4 is the first release that attempt to change this and seems to succeed
"with every new GCC release, software vendors a few months later will come out and say how their software is now faster as a result"
I think this statement is problematic.
GCC size increased a lot, and as a result GCC became slower in some areas as well. In fact I think I am not alone when I say that GCC became a bit of a complicated mess, and that many would rather like to see smaller, faster compilers than GCC becoming bigger and bigger. (tcc was a half-hearted attempt at this)
GCC is so important now that basically nothing will work without GCC, but is GCC really moving in the right direction? There aren't really alternatives for "open source" projects. So basically all will be forced to use GCC, whether it becomes better or not. I think it would be better if a new framework would enter the nice GCC leaves out - which is optimizations for very small but very specific projects, rather than try a general approach to become the biggest mountain in the valley...
"It never ceases to amaze me how with every new GCC release, software vendors a few months later will come out and say how their software is now faster as a result."
And yet GCC still generates significantly slower code than VC++.
As I understand it, a lot of the best optimization techniques are patent-encumbered, which limits the competitiveness of any open source compiler. GCC also makes design compromises in favor of supporting many different source languages and target platforms, but this latest release has made an effort to make this versatility compatible with good performance, which is good to see.
There certainly are alternative compilers out there, not to mention plenty of other languages besides C or C++ which are actually more appropriate for most application development. C is really quite a lousy language unless you are writing an OS, device driver or embedded app; C++ was cutting edge 20 years ago but now it's badly out of date. It's not surprising that nobody wants to waste their time starting yet another C/C++ compiler from scratch when there are already plenty of good entries in this category and those languages are obsolescent.