Luca's meaningless thoughts   SponsorGitHub SponsorsLiberapayPaypalBuy Me A CoffeePatreonFlattr

Statistics, benchmark suite and future plans

by Leandro Lucarella on 2009- 05- 02 01:43 (updated on 2009- 05- 02 01:43)
tagged benchmark, d, dgc, en, plan, statistics, todo - with 4 comment(s)

I'm starting to build a benchmark suite for D. My benchmarks and programs request was a total failure (only Leonardo Maffi offered me a small trivial GC benchmark) so I have to find my own way.

This is a relative hard task, I went through dsource searching for real D programs (written using Tango, I finally desisted in making Phobos work in LDC because it would be a very time consuming task) and had no much luck either. Most of the stuff there are libraries, the few programs are: not suitable for an automated benchmark suite (like games), abandoned or work with Phobos.

I found only 2 candidates:

I just tried dack for now (I tried MiniD a while ago but had some compilation errors, I have to try again). Web-GMUI seems like a nice maintained candidate too, but being a client to monitor other BitTorrent clients, seems a little hard to use in automated benchmarks.

For a better usage of the benchmark suite, I'm adding some statistics gathering to my Naive GC implementation, and I will add that too to the Tango basic GC implementation. I will collect this data for each and every collection:

  • Collection time
  • Stop-the-world time (time all the threads were suspended)
  • Current thread suspension time (this is the same as Collection time in both Naive and Tango Basic GC implementations, but it won't be that way in my final implementation)
  • Heap memory used by the program
  • Free heap memory
  • Memory overhead (memory used by the GC not usable by the program)

The three last values will be gathered after and before the collection is made.

Anyway, if you know any program that can be suitable for use in an automated benchmark suite that uses Tango, please, please let me know.

Comment #0

by Dawid Ciężarkiewicz on 2009-05-06 21:29

WOW. I've just came back from the May Holidays and was catching up with my RSS feeds and I'm glad too see that in your blog you've mentioned dack which I've happened to be an author of. :D Surprising but very nice.

BTW. Thanks for your work with D GC - I'm really interested with it (that is why I'm subscriber of your blog RSS).

Comment #1

by Leandro Lucarella on 2009-05-07 16:09

=)

Well, I have some trivial patches for dack, I'm using it as a "real-world" program example for some simple tests... I'll publish them in a near future (I can send them to you if you wish).

Comment #2

by Jarrett Bilingsley on 2009-05-07 23:41

If you're having trouble compiling MiniD, feel free to post on the forums or catch me on IRC. But I'm afraid it might not be a terribly good candidate for a GC benchmark, since it uses its own GC.

Comment #3

by Leandro Lucarella on 2009-05-08 01:36

Thanks for the advice, Jarrett. Do you mean it doesn't use the GC at all or it doesn't use it just when the interpreted allocates?