AMD Bulldozer With GCC, Open64, LLVM/Clang Compilers
Phoronix: AMD Bulldozer With GCC, Open64, LLVM/Clang Compilers
Now having looked at the AMD Bulldozer FX-8150 performance on Linux, as well as how it's scaling across multiple cores/modules, in this article are results when building a variety of benchmarks under the popular compilers. The tested compilers were GCC, LLVM/Clang, and AMD Open64, including different revisions of these open-source compilers.
I wonder hoe Open64 5.0 will turn out.
Would x32 be any faster?
There was an article about AMD Phenom 32-bit vs. 64-bit Performance.
It would be interesting to see how the Bulldozer compares running 32bit, 64bit and X32 ABI code.
Man that is an old article. 64 bit these days is way faster. It has a lot to do with applications taking full advantage of 64 bit processors these days.
Originally Posted by testerus
AMD64 doubles the number of registers, so changes to register coloring algorithms in compilers also helps.
Originally Posted by LinuxID10T
Interesting comparison. So there is quite some difference in scenarios between these compilers. That is also the reason why I dislike comparisons of CPU intensive tasks on various vendor CPUs when the benchmarking tool was compiled/written with optimizations for e.g. intel cpus in mind.
Yes, that is 'probably' the compiler most likely to have decent support for the particulars of bulldozer given that it's sponsored by AMD.
Originally Posted by markg85
I'm not sure that AMD being a sponsor of a project has much to do with how their product would perform on it. AMD contributes code to many compilers and sponsors many projects. For example they are a top tier openSUSE sponsor but contribute little in the form optimization coding directly to their project. They have however contributed large quantities of hardware to the project for development.
Originally Posted by XorEaxEax
the variation between different benchmarks is huge.
so does each compile have a different set of performance bugs, where it produces inefficient code. if you take a benchmark where compiler A beats compile B, then it ought to be possible to find a fix that makes B's code as fast as A's.
Or to they have different optimisation strategies, eg speed vs code size. in which case with a profile optimisation you could beat all the scores.
I would love to see if ICC can be added to the compiler comparison. A few years ago, I had a fair bit of success integrating ICC (version 7 at the time) into my Gentoo installation. For some apps, it was noticeably faster (FLAC for example). For most apps, the results were similar to GCC. For a few apps, it was slower.
I eventually gave up on the goal of a 100% ICC compiled system (too many patches to apply, too many issues to chase down and correct), but it may be worth a look if the license isn't too prohibitive.