Thread overview
GC stats
Jul 25, 2015
Márcio Martins
Jul 25, 2015
Martin Nowak
Jul 26, 2015
Gary Willoughby
Jul 26, 2015
simendsjo
Jul 26, 2015
Martin Nowak
Jul 27, 2015
Márcio Martins
July 25, 2015
Hello!

I was wondering if anyone has suggestions on the easiest way to time how long GC collections take? I haven't seen anything in the docs.

What I want is a clean non-intrusive way to log when a collection happened, how long my threads were stopped, how much total memory and how many blocks were recovered. i.e. how much garbage was created in between collections. Are there any hooks on the runtime?

Cheers,
-M
July 25, 2015
On Saturday, 25 July 2015 at 17:34:26 UTC, Márcio Martins wrote:
> What I want is a clean non-intrusive way to log when a collection happened, how long my threads were stopped, how much total memory and how many blocks were recovered. i.e. how much garbage was created in between collections. Are there any hooks on the runtime?

http://dlang.org/changelog.html#gc-options
https://github.com/D-Programming-Language/druntime/blob/1e25749cd01ad08dc08319a3853fbe86356c3e62/src/rt/config.d#L14
July 26, 2015
On Saturday, 25 July 2015 at 17:43:44 UTC, Martin Nowak wrote:
> On Saturday, 25 July 2015 at 17:34:26 UTC, Márcio Martins wrote:
>> What I want is a clean non-intrusive way to log when a collection happened, how long my threads were stopped, how much total memory and how many blocks were recovered. i.e. how much garbage was created in between collections. Are there any hooks on the runtime?
>
> http://dlang.org/changelog.html#gc-options
> https://github.com/D-Programming-Language/druntime/blob/1e25749cd01ad08dc08319a3853fbe86356c3e62/src/rt/config.d#L14

I thought there is a recently added compiler option that profiles the GC and creates a report now?
July 26, 2015
On Sunday, 26 July 2015 at 14:16:46 UTC, Gary Willoughby wrote:
> On Saturday, 25 July 2015 at 17:43:44 UTC, Martin Nowak wrote:
>> On Saturday, 25 July 2015 at 17:34:26 UTC, Márcio Martins wrote:
>>> What I want is a clean non-intrusive way to log when a collection happened, how long my threads were stopped, how much total memory and how many blocks were recovered. i.e. how much garbage was created in between collections. Are there any hooks on the runtime?
>>
>> http://dlang.org/changelog.html#gc-options
>> https://github.com/D-Programming-Language/druntime/blob/1e25749cd01ad08dc08319a3853fbe86356c3e62/src/rt/config.d#L14
>
> I thought there is a recently added compiler option that profiles the GC and creates a report now?

Should be included in 2.068 I think:
https://github.com/D-Programming-Language/druntime/blob/1e25749cd01ad08dc08319a3853fbe86356c3e62/src/rt/profilegc.d#L3
July 26, 2015
On 07/26/2015 04:16 PM, Gary Willoughby wrote:
> 
> I thought there is a recently added compiler option that profiles the GC and creates a report now?

That's an allocation profiler, the other one mentioned by me reports GC stats as requested by the OP.
July 27, 2015
On Sunday, 26 July 2015 at 17:43:42 UTC, Martin Nowak wrote:
> On 07/26/2015 04:16 PM, Gary Willoughby wrote:
>> 
>> I thought there is a recently added compiler option that profiles the GC and creates a report now?
>
> That's an allocation profiler, the other one mentioned by me reports GC stats as requested by the OP.

Thanks!