I just ran the samples/dhry.d compiled with DMD 1.007 vs GDC .23 svn on gcc
4.1.1 using MinGW, on a Pentium M with 1.6g.
The used flags were -O -release -inline for DMD and -ffast-math -O3 -frelease
-finline-functions for GDC.
The observed VAX MIPS ratings were 3280 for GDC, but only 2570 for DMD.
(Note that the GDC rating could be increased to 3480 by adding -msse
-mfpmath=sse,387, but that is somewhat risky).
All tests were run with realtime priority.
Do you think this difference in a synthetic benchmark translates into an actual
speed difference for real-world applications?
Did I miss any DMD compiler flags?
Greetings --downs

Warning! That is a sample only!
I remember tests of my own with similar results. But on more careful
analysis it turned out, that dhry.d seems to be unusable as a
benchmark.
AFAIR this was due to some function f() which converges to the value
1.0. GCC's math library allowed that function to reach 1.0, whereas DMD
let it stay at 1.0-epsilon.
I did not analyse that any further because I am at no means an expert
in benchmarking and in addition do not want to explore that field.
My impression was though, that because f() was used in some
multiplication GCC may have made itself an unfair advantage:
multiplication with 1.0 seems to be much easier (and therefore faster!)
than multiplication with 1.0-epsilon.
-manfred

I just ran the samples/dhry.d compiled with DMD 1.007 vs GDC .23 svn on gcc
4.1.1 using MinGW, on a Pentium M with 1.6g.
The used flags were -O -release -inline for DMD and -ffast-math -O3 -frelease
-finline-functions for GDC.
The observed VAX MIPS ratings were 3280 for GDC, but only 2570 for DMD.
(Note that the GDC rating could be increased to 3480 by adding -msse
-mfpmath=sse,387, but that is somewhat risky).
All tests were run with realtime priority.
Do you think this difference in a synthetic benchmark translates into an
actual speed difference for real-world applications?
Did I miss any DMD compiler flags?
Greetings --downs

The DMD version maybe using a higher resolution timer -- GetTickCount() vs
time() for the GDC
version. If so, that may have a lot to do with it.
On a P4 linux box, if I use an external timer ('time'), DMD consistently
outperforms GDC with the
switches above by about 15% or so.

I just ran the samples/dhry.d compiled with DMD 1.007 vs GDC .23 svn on gcc
4.1.1 using MinGW, on a Pentium M with 1.6g.
The used flags were -O -release -inline for DMD and -ffast-math -O3 -frelease
-finline-functions for GDC.
The observed VAX MIPS ratings were 3280 for GDC, but only 2570 for DMD.
(Note that the GDC rating could be increased to 3480 by adding -msse
-mfpmath=sse,387, but that is somewhat risky).
All tests were run with realtime priority.
Do you think this difference in a synthetic benchmark translates into an
actual speed difference for real-world applications?
Did I miss any DMD compiler flags?
Greetings --downs

The DMD version maybe using a higher resolution timer -- GetTickCount() vs
time() for the GDC
version. If so, that may have a lot to do with it.
On a P4 linux box, if I use an external timer ('time'), DMD consistently
outperforms GDC with the
switches above by about 15% or so.

18,219s for GDC vs 22,422s for DMD. So the difference seems less, but it's
still there.

I just ran the samples/dhry.d compiled with DMD 1.007 vs GDC .23 svn on gcc
4.1.1 using MinGW, on a Pentium M with 1.6g.
The used flags were -O -release -inline for DMD and -ffast-math -O3 -frelease
-finline-functions for GDC.
The observed VAX MIPS ratings were 3280 for GDC, but only 2570 for DMD.
(Note that the GDC rating could be increased to 3480 by adding -msse
-mfpmath=sse,387, but that is somewhat risky).
All tests were run with realtime priority.
Do you think this difference in a synthetic benchmark translates into an
actual speed difference for real-world applications?
Did I miss any DMD compiler flags?
Greetings --downs

version. If so, that may have a lot to do with it.
On a P4 linux box, if I use an external timer ('time'), DMD consistently
outperforms GDC with the
switches above by about 15% or so.

18,219s for GDC vs 22,422s for DMD. So the difference seems less, but it's
still there.

I just ran the samples/dhry.d compiled with DMD 1.007 vs GDC .23 svn
on gcc 4.1.1 using MinGW, on a Pentium M with 1.6g.
The used flags were -O -release -inline for DMD and -ffast-math -O3
-frelease -finline-functions for GDC.
The observed VAX MIPS ratings were 3280 for GDC, but only 2570 for DMD.
(Note that the GDC rating could be increased to 3480 by adding -msse
-mfpmath=sse,387, but that is somewhat risky).
All tests were run with realtime priority.
Do you think this difference in a synthetic benchmark translates
into an actual speed difference for real-world applications?
Did I miss any DMD compiler flags?
Greetings --downs

GetTickCount() vs time() for the GDC version. If so, that may have a
lot to do with it.
On a P4 linux box, if I use an external timer ('time'), DMD
consistently outperforms GDC with the switches above by about 15% or so.

18,219s for GDC vs 22,422s for DMD. So the difference seems less, but
it's still there.