digitalmars.D - GC statistics
- Andrei Alexandrescu (4/4) Oct 10 2012 This is mostly for GC experts out there - what statistics are needed and...
- Paulo Pinto (9/13) Oct 10 2012 Although I am not a GC expert, have you look at these examples
- =?UTF-8?B?QWxleCBSw7hubmUgUGV0ZXJzZW4=?= (7/21) Oct 20 2012 Way too much information to digest in that one. Anything in particular
- deadalnix (5/9) Oct 10 2012 Number of collections (full and young if it is appropriate), maximum
- =?ISO-8859-1?Q?Alex_R=F8nne_Petersen?= (6/18) Oct 20 2012 --
- Regan Heath (9/12) Oct 11 2012 I'm no GC expert, but I did just spend almost a week learning how to tra...
- dsimcha (11/15) Oct 11 2012 I'd like to see mark, sweep and page-freeing time be counted
- =?UTF-8?B?QWxleCBSw7hubmUgUGV0ZXJzZW4=?= (7/23) Oct 20 2012 How do we best represent this in the statistics struct though? Wipe and
- Rainer Schuetze (10/14) Oct 12 2012 What about allocation time? Including/excluding possible locks. A
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
Oct 10 2012
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 AndreiAlthough I am not a GC expert, have you look at these examples already? http://docs.oracle.com/javase/7/docs/technotes/tools/share/jstat.html http://golang.org/pkg/runtime/#MemStats http://www.haskell.org/ghc/dist/current/docs/html/libraries/base-4.6.0.0/GHC-Stats.html -- Paulo
Oct 10 2012
On 10-10-2012 21:47, Paulo Pinto wrote:On Wednesday, 10 October 2012 at 19:35:33 UTC, Andrei Alexandrescu wrote:Way too much information to digest in that one. Anything in particular you'd like to see?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 AndreiAlthough I am not a GC expert, have you look at these examples already? http://docs.oracle.com/javase/7/docs/technotes/tools/share/jstat.htmlhttp://golang.org/pkg/runtime/#MemStats http://www.haskell.org/ghc/dist/current/docs/html/libraries/base-4.6.0.0/GHC-Stats.html -- Paulo-- Alex Rønne Petersen alex lycus.org http://lycus.org
Oct 20 2012
Le 10/10/2012 21:11, Andrei Alexandrescu a écrit :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 AndreiNumber of collections (full and young if it is appropriate), maximum time of pause induced, average time of pause. Size of different heap parts if it is appropriate. All are not expansive to compute.
Oct 10 2012
On 10-10-2012 23:19, deadalnix wrote:Le 10/10/2012 21:11, Andrei Alexandrescu a écrit :Can you elaborate on what you'd like to see here?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 AndreiNumber of collections (full and young if it is appropriate), maximum time of pause induced, average time of pause. Size of different heap parts if it is appropriate.All are not expansive to compute.-- Alex Rønne Petersen alex lycus.org http://lycus.org
Oct 20 2012
On Wed, 10 Oct 2012 20:11:29 +0100, Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> 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/236I'm no GC expert, but I did just spend almost a week learning how to track I found the following windows performance counters useful: http://msdn.microsoft.com/en-us/library/x2tyfybc.aspx R -- Using Opera's revolutionary email client: http://www.opera.com/mail/
Oct 11 2012
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 AndreiI'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.
Oct 11 2012
On 12-10-2012 05:38, dsimcha wrote:On Wednesday, 10 October 2012 at 19:35:33 UTC, Andrei Alexandrescu wrote: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 alex lycus.org http://lycus.orgThis 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 AndreiI'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.
Oct 20 2012
On 10/10/2012 9:11 PM, 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 AndreiWhat about allocation time? Including/excluding possible locks. A precise garbage collector might have to do extra book keeping affecting overall performance. Running this precise GC https://github.com/rainers/druntime/tree/precise_gc2 against the benchmark https://github.com/rainers/druntime/blob/precise_gc2/benchmark/gcbench/tree1.d shows that it is about 20% slower than the conservative GC, most of the extra time eaten during allocation.
Oct 12 2012