I have two more things to say firstly i wonna talk about some misunderstanding point in the links that you gave.What does &quot;make conservative guess&quot; mean ? In the sentence i read from mail said that.<br><br><pre>&quot;The<br>
&quot;conservative&quot; part means &quot;guess a bit about which stack, heap, and<br>register words represent live pointers&quot;<br><br>i dont know anything how to be used heap or register by garbage collector.But fortunately i know something about stack.<br>
Stack is a structure that works with LIFO sense.Let say we wrote a factorial function that takes 50 as input.In that stack factorial <br>makes a job until finding fact of 50.But after some point machine cant make any calculation because stack will be full.But if we write<br>
that function CPS version,tail recursive version machine works until finding fact of 50.I mean stack is filled until it is full.When it <br>is full,garbage collector starts clearing up that stack.I dunno my knowledge is true with 100 percentage.If i make a mistake please let <br>
me know.But that mail talks about &quot;whick stack or heap or register represent live pointers.So i have two question ? How many stack or<br>heap or register are there in memory ? If There are more than one.Why machine cannot calculate some value or having trouble in calculating s<br>
some value ? And If more than one stack there are,How can it be decided,which one is used ? Are there some rules ? Thats why it is concervative <br>because of rules ?Sorry for my bad english.I hope i can tell my point.I am just newbie in programming.I try to learn the environment.<br>
<br>&quot;The advantage of conservative garbage collection (CGC) is that it&#39;s<br>relatively easy to interoperate with C. For that reason, CGC was a<br>reasonable choice for the way that we originally constructed DrScheme,<br>
and it remains extremely useful to those of you who develop C-based<br>extensions to import C libraries.&quot;<br><br>I know that Drscheme was written in C language.And mail said it is using CGC and said easy to interprete with C.<br>
My question is Drscheme is written in C and mail said CGC is easy to interprete in C.So both drscheme and CGC is suitable foe each other.<br>Because both of them is written in C.<br><br>&quot;[Boehm, POPL&#39;02]&quot; Can someone explain this problem more clearly or can someone suggest anything because i wonder that problem.<br>
And mail said the problem is for for GUI program why is that ?<br><br>I dont understand shot-living-object and long-living object.I try to understand that mail but i am newbie so there are lots of<br>foreign thing for me.<br>
<br>But can queue be used for Garbage collector.I mean instead of Lifo using fifo ca be reasonable choice.<br><br>Anyway sorry for being busing mailling list.<br></pre><pre><br></pre><br><div class="gmail_quote">On Sun, Apr 5, 2009 at 2:38 AM, Marek Kubica <span dir="ltr">&lt;<a href="mailto:marek@xivilization.net">marek@xivilization.net</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi,<br>
<br>
Sorry, while digging in the sources I found another GC backend which is<br>
the SenoraGC (SGC) but it is not really recommended to use and not<br>
mentioned very much.<br>
<br>
On Sun, 5 Apr 2009 02:10:06 +0300<br>
<div class="im">emre berat nebiošlu &lt;<a href="mailto:beratn@gmail.com">beratn@gmail.com</a>&gt; wrote:<br>
<br>
</div><div class="im">&gt; What are the difference between CGC and 3m.Both has some advantage or<br>
&gt; disadvantage ? Or It is just about running time or compilation time.<br>
<br>
</div>Yes, they have both some advantages and other disadvantages, for more<br>
details you could take a look at this mail<br>
&lt;<a href="http://www.cs.brown.edu/pipermail/plt-scheme/2006-June/013840.html" target="_blank">http://www.cs.brown.edu/pipermail/plt-scheme/2006-June/013840.html</a>&gt;<br>
which explains how 3m works.<br>
<div class="im"><br>
&gt; I dont know the whole issue on running time and compilation time.<br>
&gt; Running time is same with compilation time.?<br>
<br>
</div>No, to run MzScheme, you first have to compile it. At that point, you<br>
can decide whether your to-be-compiled MzScheme should use CGC, SGC or<br>
3m as garbage collector [1]. You then compile MzScheme with your<br>
desired GC and then can run programs on MzScheme. The garbage collector<br>
is fixed by this time, so you cannot just switch in the middle of the<br>
program which Garbage Collector to use.<br>
<div class="im"><br>
&gt; For example running time of merge sort is nlogn .This nlogn include<br>
&gt; only time until array is sorted(I assume array is unsorted in first<br>
&gt; time) or include this plus &quot;clearing shared memory&quot;.<br>
<br>
</div>The Big-O notation describes the time-complexity of an algorithm, not<br>
actually how long it will take exactly. As such, your algorithm will<br>
be O(n log n) on 3m and on CGC. The actual time that your program runs<br>
will change too, for course but usually not in a way that you&#39;d get<br>
another time-complexity. What also changes is the amount of memory that<br>
MzScheme will use while it runs your program/algorithm.<br>
<div class="im"><br>
&gt; But i just wonder about CGC and 3m. What do we exactly focus on<br>
&gt; &quot;garbage collector&quot;.<br>
<br>
</div>On the efficient management of memory.<br>
<br>
regards,<br>
Marek<br>
<br>
[1] technically, even when selecting 3m, a CGC-version of MzScheme will<br>
be built, too<br>
</blockquote></div><br>