www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - D GC Benchmark Suite

reply Leandro Lucarella <llucax gmail.com> writes:
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
Mar 28 2009
next sibling parent reply bearophile <bearophileHUGS lycos.com> writes:
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
Mar 28 2009
parent reply Leandro Lucarella <llucax gmail.com> writes:
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
Mar 28 2009
next sibling parent bearophile <bearophileHUGS lycos.com> writes:
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
Mar 28 2009
prev sibling next sibling parent torhu <no spam.invalid> writes:
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.
Mar 29 2009
prev sibling next sibling parent Leandro Lucarella <llucax gmail.com> writes:
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...
Mar 29 2009
prev sibling parent Nick B <nick.barbalich gmail.com> writes:
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
Apr 01 2009
prev sibling next sibling parent reply Robert Clipsham <robert octarineparrot.com> writes:
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.
 

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.
Mar 28 2009
parent Leandro Lucarella <llucax gmail.com> writes:
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.

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.
Mar 29 2009
prev sibling parent "Vladimir Panteleev" <thecybershadow gmail.com> writes:
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
Mar 29 2009