www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Re: D compiler benchmarks

reply bearophile <bearophileHUGS lycos.com> writes:
- Having a C or C++ (or something better, where necessary) baseline reference
can be very useful to know how much far is the D code from the fastest non-ASM
versions.
- you can improve the graphs in the dbench.octarineparrot.com page so they can
be read better.
- Tune all your tests so they run for 6-15 seconds or more. If they run for
less than 3 seconds there's too much measure noise.
- Taking the average of three runs isn't that good, but this is a tricky
topic... Take the minimum for now.
- With my browser the label "binarytrees2" is misplaced.
- what's the differece between nsievebits2 and nsievebits? And nbody and
nbody2? Reading the source is good, but a small note too is good.
- Both in GDC and LDC it's positive to add what backends they use (for example:
ldc version: r1050 using LLVM 2.5).
- Note that currently LDC goes up only to -O3.


Regarding the backend of LDC:
http://leonardo-m.livejournal.com/77877.html

Bye,
bearophile
Mar 09 2009
parent reply Robert Clipsham <robert octarineparrot.com> writes:
bearophile wrote:
 - Having a C or C++ (or something better, where necessary) baseline reference
can be very useful to know how much far is the D code from the fastest non-ASM
versions.

This seems to be quite a popular request, I'll do this at some point
 - you can improve the graphs in the dbench.octarineparrot.com page so they can
be read better.

How would you like them improved? I just copied and pasted some CSS to generate them, it can easily be tweaked to be easier to read.
 - Tune all your tests so they run for 6-15 seconds or more. If they run for
less than 3 seconds there's too much measure noise.

Sounds like a good plan, I'll do that next time I run them
 - Taking the average of three runs isn't that good, but this is a tricky
topic... Take the minimum for now.

Someone has already pointed this out, and I plan to do it next time. By minimum do you mean the fastest or slowest result?
 - With my browser the label "binarytrees2" is misplaced.

All the benchmarks on the right are slightly misplaced, I can't figure it out. I'll try and tweak it so it fits better one I get your input on how to improve the graphs.
 - what's the differece between nsievebits2 and nsievebits? And nbody and
nbody2? Reading the source is good, but a small note too is good.

As you probably know, the tests are just from the shootout. The number is the version number of the test, I picked the tests that performed the best when there was more than one.
 - Both in GDC and LDC it's positive to add what backends they use (for
example: ldc version: r1050 using LLVM 2.5).

I'll do that with the next update.
 - Note that currently LDC goes up only to -O3.

I thought 4/5 introduced linker optimisations? Either way it doesn't matter, -O5 will perform all the optimisations available with the current version of ldc.
Mar 09 2009
next sibling parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
Robert Clipsham wrote:
 Someone has already pointed this out, and I plan to do it next time. By 
 minimum do you mean the fastest or slowest result?

Fastest result. Andrei
Mar 09 2009
prev sibling parent bearophile <bearophileHUGS lycos.com> writes:
Robert Clipsham:
 How would you like them improved?

In any way that lets me see them well and not makes Tufte cry.
 By minimum do you mean the fastest or slowest result?

Where do the shorter and longer timings come from? Think a bit about that. (The answer is minimum, but you have to know why). Bye, bearophile
Mar 09 2009