Re: call for GC benchmarks

2015-01-05 Thread Brian Schott via Digitalmars-d

On Sunday, 4 January 2015 at 05:38:06 UTC, Martin Nowak wrote:
I'd like to have a few more real world GC benchmarks in 
druntime.
The current ones are all rather micro-benchmarks, some of them 
don't even create garbage.


So if someone has a program that is heavily GC limited, I'd be 
interested in seeing that converted to a benchmark.


Made the start with one 
https://github.com/D-Programming-Language/druntime/pull/1078 
that resembles a mysql to mongodb importer I wrote recently.


You could try building really old versions of DCD. I converted my 
entire D parsing library to allocators several months ago and got 
a huge speed boost.


Re: call for GC benchmarks

2015-01-05 Thread Benjamin Thaut via Digitalmars-d

Am 04.01.2015 um 06:37 schrieb Martin Nowak:

I'd like to have a few more real world GC benchmarks in druntime.
The current ones are all rather micro-benchmarks, some of them don't
even create garbage.

So if someone has a program that is heavily GC limited, I'd be
interested in seeing that converted to a benchmark.

Made the start with one
https://github.com/D-Programming-Language/druntime/pull/1078 that
resembles a mysql to mongodb importer I wrote recently.


I have a 3D Space shooter implemented in D. Before I transitioned it 
over to complete manual memory management, the GC was the biggest 
bottleneck. Would you be interrested in something like that as well, or 
are smaller applications with a command line interface preferred?
If you are interrested I might be able to branch of a old revision and 
make it compile with the latest dmd again.


Kind Regards
Benjamin Thaut


Re: call for GC benchmarks

2015-01-05 Thread Martin Nowak via Digitalmars-d

On 01/05/2015 11:26 AM, Benjamin Thaut wrote:

If you are interrested I might be able to branch of a old revision and
make it compile with the latest dmd again.


I'm interested in realistically simulating your allocation patterns.
That includes types and allocation sizes, allocation order, lifetime and 
connectivity.

Definitely sounds interesting.


Re: call for GC benchmarks

2015-01-05 Thread Benjamin Thaut via Digitalmars-d

Am 05.01.2015 um 17:02 schrieb Kiith-Sa:

On Monday, 5 January 2015 at 14:52:36 UTC, Martin Nowak wrote:

On 01/05/2015 11:26 AM, Benjamin Thaut wrote:

If you are interrested I might be able to branch of a old revision and
make it compile with the latest dmd again.


I'm interested in realistically simulating your allocation patterns.
That includes types and allocation sizes, allocation order, lifetime
and connectivity.
Definitely sounds interesting.


Maybe make a proxy GC, record all allocations to a file,
then replay those allocations as a benchmark?


That won't work. Not only the allocations are important but the pointers 
between them as well. Your proposed solution would only work if all 
pointers within a D program are known and could be recorded.


Re: call for GC benchmarks

2015-01-05 Thread Kiith-Sa via Digitalmars-d

On Monday, 5 January 2015 at 14:52:36 UTC, Martin Nowak wrote:

On 01/05/2015 11:26 AM, Benjamin Thaut wrote:
If you are interrested I might be able to branch of a old 
revision and

make it compile with the latest dmd again.


I'm interested in realistically simulating your allocation 
patterns.
That includes types and allocation sizes, allocation order, 
lifetime and connectivity.

Definitely sounds interesting.


Maybe make a proxy GC, record all allocations to a file,
then replay those allocations as a benchmark?


Re: call for GC benchmarks

2015-01-05 Thread Martin Nowak via Digitalmars-d

On 01/05/2015 06:18 PM, Benjamin Thaut wrote:

That won't work. Not only the allocations are important but the pointers
between them as well. Your proposed solution would only work if all
pointers within a D program are known and could be recorded.


And I'm also interested in the type information.


Re: call for GC benchmarks

2015-01-04 Thread Martin Nowak via Digitalmars-d
On Sunday, 4 January 2015 at 06:04:38 UTC, Manu via Digitalmars-d 
wrote:
I wonder if the code can still run against the builtin GC to 
reproduce

the original problem?


OK, will have a look.



Re: call for GC benchmarks

2015-01-04 Thread Manu via Digitalmars-d
On 5 January 2015 at 01:26, Martin Nowak via Digitalmars-d
digitalmars-d@puremagic.com wrote:
 On Sunday, 4 January 2015 at 06:04:38 UTC, Manu via Digitalmars-d wrote:

 I wonder if the code can still run against the builtin GC to reproduce
 the original problem?


 OK, will have a look.

Recall rainer lectured on it as dconf2013. So there's measurements there too.


call for GC benchmarks

2015-01-03 Thread Martin Nowak via Digitalmars-d

I'd like to have a few more real world GC benchmarks in druntime.
The current ones are all rather micro-benchmarks, some of them don't 
even create garbage.


So if someone has a program that is heavily GC limited, I'd be 
interested in seeing that converted to a benchmark.


Made the start with one 
https://github.com/D-Programming-Language/druntime/pull/1078 that 
resembles a mysql to mongodb importer I wrote recently.


Re: call for GC benchmarks

2015-01-03 Thread Manu via Digitalmars-d
On 4 January 2015 at 15:37, Martin Nowak via Digitalmars-d
digitalmars-d@puremagic.com wrote:
 I'd like to have a few more real world GC benchmarks in druntime.
 The current ones are all rather micro-benchmarks, some of them don't even
 create garbage.

 So if someone has a program that is heavily GC limited, I'd be interested in
 seeing that converted to a benchmark.

 Made the start with one
 https://github.com/D-Programming-Language/druntime/pull/1078 that resembles
 a mysql to mongodb importer I wrote recently.

VisualD used to be my poster-child of GC problem cases. Rainer wrote
his whole new GC for it.
I wonder if the code can still run against the builtin GC to reproduce
the original problem?