Linked by Thom Holwerda on Wed 12th Mar 2008 17:54 UTC, submitted by RJop
General Development The GNU project has released version 4.3.0 of the GNU Compiler Collection. "The GNU project and the GCC developers are pleased to announce the release of GCC 4.3.0. This release is a major release, containing new features (as well as many other improvements) relative to GCC 4.2.x."
Thread beginning with comment 304750
To read all comments associated with this story, please click here.
kudos
by jacquouille on Wed 12th Mar 2008 18:39 UTC
jacquouille
Member since:
2006-01-02

4.3 is a huge improvement over 4.2 which was already a huge improvement over 4.1, etc. It seems that the refactoring that led to gcc 4 is paying off.

Some of my c++ code is quite demanding (expression templates, crtp...) and therefore pushes the compiler to its limits. With every version I can see gcc handling it better and better, and when I see a regression and file a bug report, the devs are very reactive and efficient at solving it.

In fact, it is not uncommon now to have gcc produce better assembly than icc does -- something that would have been unthinkable not long ago.

Reply Score: 10

RE: kudos
by SamAskani on Wed 12th Mar 2008 20:09 in reply to "kudos"
SamAskani Member since:
2006-01-03

Exactly my feelings.

A couple of months ago I evaluated gcc vs icc and Portland Group compilers. Everything was done to ensure that each compiler was producing the fastest code possible.

With some code using standard exp/sin/cos (numerical integrals of optics equations) and a lot of collision detection, GCC 4.2.1 really kick icc's ass requiring 80% of the time with icc. Portland Group compilers (PGC at version 7.1) are the king of the hill with an amazing 60% of the time of the GCC code (which makes 48% of the icc time). Please note that this code is quite standard C and pthreaded, which means that I can move it almost anywhere. icc's OpenMP was always slower than simple pthread handling in GCC.

However, I have SSE2 pure code for the most simplistic cases of the equations. In that case, GCC kills everything. Compared to the non-SSE code, the new code runs in only 30% of the original time, which is the double of perfomance compared to PGC with standard C code. By some reason, PGC did not like at all the use of SSE2 intrinsics and is generating a code much slower than the one produced with standard C code. The gain of performance of icc with SSE2 was minimal.

In conclusion, we bought a PGC's license and we use GCC / PGC according to the problem. There are some problems that are too complicated to move to SSE2 code so PGC is a wise investment.

Let's forget about the competition of Intel vs PGC or PathScale, it's a shame for Intel than their compilers struggle so much vs the free-as-beer GCC.

Cheers to GCC team.

PS: The funny detail, all this testing was done in a cluster of Intel processors.

Reply Parent Score: 5