Jump to page: 1 2
Thread overview
call for GC benchmarks
Jan 04, 2015
Martin Nowak
Jan 04, 2015
Manu
Jan 04, 2015
Martin Nowak
Jan 04, 2015
Manu
Jan 04, 2015
Mike
Jan 05, 2015
Benjamin Thaut
Jan 05, 2015
Martin Nowak
Jan 05, 2015
Kiith-Sa
Jan 05, 2015
Benjamin Thaut
Jan 05, 2015
Martin Nowak
Jan 05, 2015
Brian Schott
January 04, 2015
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.
January 04, 2015
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?
January 04, 2015
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.

January 04, 2015
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.
January 04, 2015
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.
>

Did you see Maxime's post here: http://pointersgonewild.com/2014/10/26/circumventing-the-d-garbage-collector/

January 05, 2015
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
January 05, 2015
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.
January 05, 2015
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.
January 05, 2015
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?
January 05, 2015
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.
« First   ‹ Prev
1 2