User forums > Using Code::Blocks

GCC Optimization

<< < (2/2)

thomas:
Differences between compiler optimisations are a few percent at best.
Differences between proper and improper algorithms can be 100 fold, differences between proper and improper threading can be 5-10 fold.

I'd not worry so much about the compiler, to be honest.

nickrt:
Hi

Well that is not quite true when it comes down to library maths functions supplied with the compiler.  A quick test shows that the standard GCC compiler call to say the exp() function, is some 7-10 times SLOWER than that implemented by Intel, running on the same hardware, with just a straight-forward benchmark loop and timer.  I agree that a properly coded algorithm will always make the largest benefit, however, if it is mostly calling a maths library that has been implemented by other coders - then much efficiency is down to them and not me.  As it happens my code is very tight.  I suspect that the libraries in the GCC need some more work in this area (reviewing various forums it seems that the maths libraries have known algorithmic problems)  Intel has an advantage, in that they only need to consider their own hardware and I assume therefore tightly code the maths library matching their own processors (e.g. see: http://software.intel.com/en-us/articles/just-link-in-to-intel-compilers-math-library-windows/).

I am already running on 16*4 core processors overnight (NP-hard problems...); so a significant speed-up in the maths library would make a BIG difference to me!

Fingers crossed!

CBLaw:
For me, speed isn't the only thing I worry about. Intel's debugger is way better. I find the Intel compilers diagnostics, remarks, warnings, and errors to be helpful to me while  building my app. So, I say if you're on Linux, pick up you free copy, and enjoy building with the great debugger and compiler output. Also I find the Intel compiler much faster at building unoptimized debug builds, which is another big plus. Then when you're ready to release you can play with both of them to see which one likes your code more.
   Of course if you need any money for your app, then you can't release with the free Intel. But because it's so good for developing, I'm always gonna build on Linux with the free version. Every once in a while I'll run GCC over my code to make sure it's still happy.

nickrt:
Hi

Good idea! Although I compile for both Windows and Linux.  Linux for my clusters!

I wondered if you could tell me how to get the Intel compiler working with Code:Blocks? I have the Windows compiler installed, and the command line is fine, but where are the standard .h files and libraries? It does not seem to come with stdio.h etc? I have not had time to go through documentation as I am mid-way through a project with tight deadlines and changing to Intel compiler may give me speed-up I need... can you help??

My application is research based - not commercial - so I have access to all of Intel's offerings!

Thanks again, :P



CBLaw:
I can help ya get it working in Linux. I have no idea how to get it working on windows, I could never afford it!

Lemme know if ya need Linux help. There's just a few articles of minutia to take care of, and you're good ta go!

Navigation

[0] Message Index

[*] Previous page

Go to full version