Re: D runtime Garbage Collector details

2012-02-24 Thread deadalnix

Le 24/02/2012 00:49, Vadim a écrit :

I am looking for the details on D Garbage Collection implementation. I
will much appreciate if someone suggests the answers or give some links
to existing documentation clarifying the following points:

1. Is it Mark-n-Sweep or copy or generational collector or simple
reference counting? Or anything else? Any documentation on this would be
very helpful



Mark and sweep, but do not copy and isn't generationnal.


2. Sun/Oracle JVM publishes a number of counters in shared memory so
that user may easily monitor the memory usage and the GC statistics
real-time without affecting the application (and without modifying the
application). Is there anything similar for D GC?



You should ask the system for thoses infos.


3. Is there any performance tests of D GC efficiency? Is it possible to
write GC-predictable code (without manual allocate/free) or at least do
something like System.gc()?


Its performance are quite poor ATM, it is getting better, but still not 
as effeiscient as java's GC for example. You could disable it using the 
class GC on critical period of time, so you'd know when it run and when 
it cannot trigger itself. D allow also to manage memory manually, and if 
you don't generate garbage, GC will not trigger.


D runtime Garbage Collector details

2012-02-23 Thread Vadim
I am looking for the details on D Garbage Collection 
implementation. I will much appreciate if someone suggests the 
answers or give some links to existing documentation clarifying 
the following points:


1. Is it Mark-n-Sweep or copy or generational collector or simple 
reference counting? Or anything else? Any documentation on this 
would be very helpful


2. Sun/Oracle JVM publishes a number of counters in shared memory 
so that user may easily monitor the memory usage and the GC 
statistics real-time without affecting the application (and 
without modifying the application). Is there anything similar for 
D GC?


3. Is there any performance tests of D GC efficiency? Is it 
possible to write GC-predictable code (without manual 
allocate/free) or at least do something like System.gc()?


Re: D runtime Garbage Collector details

2012-02-23 Thread James Miller
On 24 February 2012 12:49, Vadim vadim.goryu...@gmail.com wrote:
 I am looking for the details on D Garbage Collection implementation. I will
 much appreciate if someone suggests the answers or give some links to
 existing documentation clarifying the following points:

 1. Is it Mark-n-Sweep or copy or generational collector or simple reference
 counting? Or anything else? Any documentation on this would be very helpful

 2. Sun/Oracle JVM publishes a number of counters in shared memory so that
 user may easily monitor the memory usage and the GC statistics real-time
 without affecting the application (and without modifying the application).
 Is there anything similar for D GC?

 3. Is there any performance tests of D GC efficiency? Is it possible to
 write GC-predictable code (without manual allocate/free) or at least do
 something like System.gc()?

I don't know the answers to 1 or 2, but I know that there is a GC
class with a bunch of methods on it for controlling the GC, including
enabling and disabling it and getting GC-allocated memory. Whether
that helps you write GC predictable code - I don't know, garbage
collection is mostly a black art to me :-)

--
James Miller


Re: D runtime Garbage Collector details

2012-02-23 Thread Kevin Cox
On Feb 23, 2012 6:50 PM, Vadim vadim.goryu...@gmail.com wrote:

 I am looking for the details on D Garbage Collection implementation. I
will much appreciate if someone suggests the answers or give some links to
existing documentation clarifying the following points:

 1. Is it Mark-n-Sweep or copy or generational collector or simple
reference counting? Or anything else? Any documentation on this would be
very helpful

 2. Sun/Oracle JVM publishes a number of counters in shared memory so that
user may easily monitor the memory usage and the GC statistics real-time
without affecting the application (and without modifying the application).
Is there anything similar for D GC?

 3. Is there any performance tests of D GC efficiency? Is it possible to
write GC-predictable code (without manual allocate/free) or at least do
something like System.gc

There is quite a lot of info in the mailing list.  Off of the top of my
head I know it is a mark and sweep.  There is someone who did their Phd on
GC in D and he did a fairly good analysis of the current situation.

And as the fellow before me said, there is a garbage collector control.