On 12-10-2012 05:38, dsimcha wrote:
On Wednesday, 10 October 2012 at 19:35:33 UTC, Andrei Alexandrescu wrote:
This is mostly for GC experts out there - what statistics are needed
and useful, yet not too expensive to collect?
https://github.com/D-Programming-Language/druntime/pull/236
Andrei
I'd like to see mark, sweep and page-freeing time be counted separately
so that if overall GC performance is slow, the user can identify where
the bottleneck is. For example, mark time will be slow if there's a lot
of total memory to be scanned. Sweep time will be slow if there are a
lot of blocks allocated, even if they're all small. I'm not sure if
this is feasible, though, because it assumes that the GC implementation
is mark-sweep. I guess we could name the subcategories something more
generic like mark and process marks.
How do we best represent this in the statistics struct though? Wipe and
set on every GC cycle or maintain some sort of average over time?
--
Alex Rønne Petersen
[email protected]
http://lycus.org