Thread overview
D GC Benchmark Suite
Mar 28, 2009
Leandro Lucarella
Mar 28, 2009
bearophile
Mar 28, 2009
Leandro Lucarella
Mar 28, 2009
bearophile
Mar 29, 2009
Vladimir Panteleev
Mar 29, 2009
torhu
Mar 29, 2009
Leandro Lucarella
Apr 01, 2009
Nick B
Mar 28, 2009
Robert Clipsham
Mar 29, 2009
Leandro Lucarella
March 28, 2009
Hello. I'm trying to make a benchmark suite to evaluate different GC implementations. I'm looking for trivial benchmarks and full real-life programs. If you have something like that or if you are interested in more details about what I'm looking for, please read the following link:

http://proj.llucax.com.ar/blog/dgc/blog/post/-1382f6a3

Thank you.

-- 
Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/
----------------------------------------------------------------------------
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
----------------------------------------------------------------------------
A veces quisiera ser un barco,
para flotar como floto siendo humano,
y no hundirme como me hundo
March 28, 2009
Leandro Lucarella:
> Hello. I'm trying to make a benchmark suite to evaluate different GC implementations. I'm looking for trivial benchmarks and full real-life programs. If you have something like that or if you are interested in more details about what I'm looking for, please read the following link:

This topic was discussed more than one time by me too. A gentle person here even has written a patch for the GC to solve one of the performance problems I did find (I think such patch was never accepted, I don't know why).

I think D deserves a benchmark suite to test "everything". Haskell implementations have several of them.

Inside here you can find 3 tests of the GC (gc1, gc2 and gc3) (one of them is the binary tree test you already have seen many times):
http://www.fantascienza.net/leonardo/js/slow_d.zip
Thy are tiny programs: I think a test suite has to contain both tiny and longhish programs, because the shorter ones are able to spot troubles in a more definite way, and the longer ones are able to spot less specific troubles.

(The gc1 benchmark is the one partially fixed by that GC patch).

Bye,
bearophile
March 28, 2009
bearophile, el 28 de marzo a las 16:17 me escribiste:
> Leandro Lucarella:
> > Hello. I'm trying to make a benchmark suite to evaluate different GC implementations. I'm looking for trivial benchmarks and full real-life programs. If you have something like that or if you are interested in more details about what I'm looking for, please read the following link:
> 
> This topic was discussed more than one time by me too. A gentle person here even has written a patch for the GC to solve one of the performance problems I did find (I think such patch was never accepted, I don't know why).

I was just looking at my collected post about the subject and found that
mail and saw the patch (and yes, it's not applied yet). This was 1 minute
ago. The bug is this:
http://d.puremagic.com/issues/show_bug.cgi?id=1923

I've just tested it and it seems to work great (it even improves the performance of other mini benchmarks I've collected).

> I think D deserves a benchmark suite to test "everything". Haskell implementations have several of them.

Agree, but for now I'm just interested in the GC to finally get my diploma ;)

> Inside here you can find 3 tests of the GC (gc1, gc2 and gc3) (one of
> them is the binary tree test you already have seen many times):
> http://www.fantascienza.net/leonardo/js/slow_d.zip

I just saw that too a minute ago (it was on my notes too). Thank you.

> Thy are tiny programs: I think a test suite has to contain both tiny and longhish programs, because the shorter ones are able to spot troubles in a more definite way, and the longer ones are able to spot less specific troubles.

Sure, that's exactly the reason I want both type of benchmarks.

-- 
Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/
----------------------------------------------------------------------------
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
----------------------------------------------------------------------------
cigarette takes away 5 minutes of a person's life
March 28, 2009
Leandro Lucarella wrote:
> Hello. I'm trying to make a benchmark suite to evaluate different GC
> implementations. I'm looking for trivial benchmarks and full real-life
> programs. If you have something like that or if you are interested in more
> details about what I'm looking for, please read the following link:
> 
> http://proj.llucax.com.ar/blog/dgc/blog/post/-1382f6a3
> 
> Thank you.
> 
I'd be interested to know what you come up with for this, I'd like more benchmarks to include in http://dbench.octarineparrot.com/ . I have already been sent a few, I have not had chance to include them yet though.
March 28, 2009
Leandro Lucarella:
> I've just tested it and it seems to work great (it even improves the performance of other mini benchmarks I've collected).

But I have found some situations where it leads to a bit slower performance (no, I don't remember how/where now). So it deserves a lot of testing.

Regarding the D GC, I'd like it to be more precise (no need for it to be fully precise).

Bye,
bearophile
March 29, 2009
Robert Clipsham, el 28 de marzo a las 20:52 me escribiste:
> Leandro Lucarella wrote:
> >Hello. I'm trying to make a benchmark suite to evaluate different GC
> >implementations. I'm looking for trivial benchmarks and full real-life
> >programs. If you have something like that or if you are interested in more
> >details about what I'm looking for, please read the following link:
> >http://proj.llucax.com.ar/blog/dgc/blog/post/-1382f6a3
> >Thank you.
> I'd be interested to know what you come up with for this, I'd like more benchmarks to include in http://dbench.octarineparrot.com/ . I have already been sent a few, I have not had chance to include them yet though.

Sure, but bare in mind that the benchmark I intend to make are targeted to one compiler only, because I want to compare GC implementations performance. But I guess they could be useful too to test different compilers too (they might have different GC implementations in the future as well :)

-- 
Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/
----------------------------------------------------------------------------
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
----------------------------------------------------------------------------
Cómo ser inconmensurablemente atractivo a la mujer del sexo opuesto.
	-- Libro de autoayuda de Hector Mesina.
March 29, 2009
On Sat, 28 Mar 2009 22:28:11 +0200, Leandro Lucarella <llucax@gmail.com> wrote:

> Agree, but for now I'm just interested in the GC to finally get my diploma
> ;)

Funny, I'm working on some D/GC-related projects (including a new experimental GC idea) for my university graduation paper too :)

One of them is a D memory debugger: http://dsource.org/projects/diamond
I'll post on the NG when I have further developments.

-- 
Best regards,
 Vladimir                          mailto:thecybershadow@gmail.com
March 29, 2009
On 29.03.2009 21:19, Vladimir Panteleev wrote:
>
> Funny, I'm working on some D/GC-related projects (including a new
> experimental GC idea) for my university graduation paper too :)
>
> One of them is a D memory debugger: http://dsource.org/projects/diamond
> I'll post on the NG when I have further developments.
>

Nice.  I'll have check it out sometime, maybe I'll figure out why my app uses more memory then I think it should.
March 29, 2009
Vladimir Panteleev, el 29 de marzo a las 22:19 me escribiste:
> On Sat, 28 Mar 2009 22:28:11 +0200, Leandro Lucarella <llucax@gmail.com> wrote:
> 
> >Agree, but for now I'm just interested in the GC to finally get my diploma ;)
> 
> Funny, I'm working on some D/GC-related projects (including a new
> experimental GC idea) for my university graduation paper too :)
> 
> One of them is a D memory debugger: http://dsource.org/projects/diamond I'll post on the NG when I have further developments.

Nice to know, that can be useful for getting some metrics about the GC usage. I'll take a look at it when I can.

Thanks!

-- 
Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/
----------------------------------------------------------------------------
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
----------------------------------------------------------------------------
I've always been mad, I know I've been mad, like the most of us... very hard to explain why you're mad, even if you're not mad...
April 01, 2009
Vladimir Panteleev wrote:
> On Sat, 28 Mar 2009 22:28:11 +0200, Leandro Lucarella <llucax@gmail.com> wrote:
> 
>> Agree, but for now I'm just interested in the GC to finally get my diploma
>> ;)
> 
> Funny, I'm working on some D/GC-related projects (including a new experimental GC idea) for my university graduation paper too :)
> 
> One of them is a D memory debugger: http://dsource.org/projects/diamond
> I'll post on the NG when I have further developments.
> 

Vladimir

this sounds like it could be a very useful utility.

What licence (if any) do you plan to release it under  eg GPL ?

Nick B