On 9/6/2012 4:30 AM, Peter Alexander wrote:
In addition to Walter's response, it is very rare for advanced compiler
optimisations to make >2x difference on any non-trivial code. Not
impossible, but it's definitely suspicious.
I love trying to explain to people our debug builds are too slow because
they have instrumented too much of the code, and haven't disabled any of
it. A lot of people are pushed into debugging release builds as a
result, which is pretty silly.
Now there are some pathological cases:
non-inlined constructors can sometimes kill in some cases you for 3d
vector math type libraries
128 bit SIMD intrinsics with microsofts compiler in debug builds
makes horrifically slow code, each operation has its results written to
memory and then is reloaded for the next 'instruction'. I believe its
two order of magnitudes slower (the extra instructions, plus pegging the
read and write ports of the CPU hurt quite a lot too). These tend to be
right functions so can be optimized in debug builds selectively . . .