Basic benchmark

Bill Baxter wbaxter at gmail.com
Mon Dec 15 18:28:16 PST 2008


On Tue, Dec 16, 2008 at 11:09 AM, Andrei Alexandrescu
<SeeWebsiteForEmail at erdani.org> wrote:
> Jarrett Billingsley wrote:
>>
>> On Sat, Dec 13, 2008 at 11:16 AM, Tomas Lindquist Olsen
>> <tomas at famolsen.dk> wrote:
>>>
>>> I tried this out with Tango + DMD 1.033, Tango + LDC r847 and GCC 4.3.2,
>>> my
>>> timings are as follows, best of three:
>>>
>>> $ dmd bench.d -O -release -inline
>>> long arith:  55630 ms
>>> nested loop:  5090 ms
>>>
>>>
>>> $ ldc bench.d -O3 -release -inline
>>> long arith:  13870 ms
>>> nested loop:   120 ms
>>>
>>>
>>> $ gcc bench.c -O3 -s -fomit-frame-pointer
>>> long arith: 13600 ms
>>> nested loop:  170 ms
>>>
>>>
>>> My cpu is: Athlon64 X2 3800+
>>>
>>
>> Go LDC!
>>
>> I hope bearophile will eventually understand that DMD is not good at
>> optimizing code, and so comparing its output to GCC's is ultimately
>> meaningless.
>
> I must have missed the memo. How is dmd not good at optimizing code? Without
> knowing many details about it, my understanding is that dmd performs common
> optimization reasonably well and that this particular problem has to do with
> the long division routine.

It's pretty well proven that for floating point code, DMD tends to
generate code about 50% slower than GCC.

--bb



More information about the Digitalmars-d mailing list