Statistics, benchmark suite and future plans
by Leandro Lucarella on 2009- 05- 02 01:43 (updated on 2009- 05- 02 01:43)- 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.
TODO list
by Leandro Lucarella on 2009- 04- 05 06:42 (updated on 2009- 04- 05 06:42)- with 0 comment(s)
I've activated the issue tracker module in my D Garbage Collector Research project to be able to track my TODO list.
This is probably useful just for me, but maybe you can be interested in knowing what I will do next =)