]> git.llucax.com Git - personal/website.git/blob - source/blog/posts/2009/05/statistics--benchmark-suite-and-future-plans.rst
Make https:// compatible
[personal/website.git] / source / blog / posts / 2009 / 05 / statistics--benchmark-suite-and-future-plans.rst
1 Title: Statistics, benchmark suite and future plans
2 Tags: en, d, dgc, plan, benchmark, todo, statistics
3
4 I'm starting to build a benchmark suite for D. My `benchmarks and programs
5 request`__ was a total failure (only `Leonardo Maffi`__ offered me a small
6 `trivial GC benchmark`__) so I have to find my own way.
7
8 __ https://proj.llucax.com.ar/blog/dgc/blog/post/-1382f6a3
9 __ http://www.fantascienza.net/leonardo/
10 __ http://www.fantascienza.net/leonardo/js/slow_d.zip
11
12 This is a relative hard task, I went through dsource_ searching for real
13 D programs (written using Tango_, I finally desisted in making Phobos_ work in
14 LDC_ because it would be a very time consuming task) and had no much luck
15 either. Most of the stuff there are libraries, the few programs are: not
16 suitable for an automated benchmark suite (like games), abandoned or work with
17 Phobos_.
18
19 I found only 2 candidates:
20
21 * dack_
22 * MiniD_
23
24 I just tried dack_ for now (I tried MiniD_ a while ago but had some compilation
25 errors, I have to try again). `Web-GMUI`_ seems like a nice maintained
26 candidate too, but being a client to monitor other BitTorrent_ clients, seems
27 a little hard to use in automated benchmarks.
28
29 For a better usage of the benchmark suite, I'm adding some statistics gathering
30 to my `Naive GC`__ implementation, and I will add that too to the Tango_
31 *basic* GC implementation. I will collect this data for each and every
32 collection:
33
34 __ https://proj.llucax.com.ar/blog/dgc/blog/post/-45ea3101
35
36 * Collection time
37 * Stop-the-world time (time all the threads were suspended)
38 * Current thread suspension time (this is the same as Collection time in both
39   Naive and Tango_ Basic GC implementations, but it won't be that way in my
40   final implementation)
41 * Heap memory used by the program
42 * Free heap memory
43 * Memory overhead (memory used by the GC not usable by the program)
44
45 The three last values will be gathered **after** and **before** the collection
46 is made.
47
48 Anyway, if you know any program that can be suitable for use in an automated
49 benchmark suite that uses Tango_, **please**, **please** let me know.
50
51
52 .. _dsource: http://www.dsource.org/
53 .. _Tango: http://www.dsource.org/projects/tango
54 .. _Phobos: http://www.digitalmars.com/d/1.0/phobos/phobos.html
55 .. _LDC: http://www.dsource.org/projects/ldc
56 .. _dack: http://dpc.wikidot.com/lab:dack
57 .. _MiniD: http://www.dsource.org/projects/minid/
58 .. _`Web-GMUI`: http://web-gmui.sourceforge.net/
59 .. _BitTorrent: http://en.wikipedia.org/wiki/BitTorrent_(protocol)
60
61 .. vim: set et sw=4 sts=4 :