[plt-scheme] Collect-Garbage not enabled on Dr. Scheme?

From: emre berat nebioğlu (beratn at gmail.com)
Date: Sun Apr 5 12:40:52 EDT 2009

I have two more things to say firstly i wonna talk about some
misunderstanding point in the links that you gave.What does "make
conservative guess" mean ? In the sentence i read from mail said that.

"The
"conservative" part means "guess a bit about which stack, heap, and
register words represent live pointers"

i dont know anything how to be used heap or register by garbage
collector.But fortunately i know something about stack.
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
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
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
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
me know.But that mail talks about "whick stack or heap or register
represent live pointers.So i have two question ? How many stack or
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
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
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.

"The advantage of conservative garbage collection (CGC) is that it's
relatively easy to interoperate with C. For that reason, CGC was a
reasonable choice for the way that we originally constructed DrScheme,
and it remains extremely useful to those of you who develop C-based
extensions to import C libraries."

I know that Drscheme was written in C language.And mail said it is
using CGC and said easy to interprete with C.
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.
Because both of them is written in C.

"[Boehm, POPL'02]" Can someone explain this problem more clearly or
can someone suggest anything because i wonder that problem.
And mail said the problem is for for GUI program why is that ?

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
foreign thing for me.

But can queue be used for Garbage collector.I mean instead of Lifo
using fifo ca be reasonable choice.

Anyway sorry for being busing mailling list.



On Sun, Apr 5, 2009 at 2:38 AM, Marek Kubica <marek at xivilization.net> wrote:

> Hi,
>
> Sorry, while digging in the sources I found another GC backend which is
> the SenoraGC (SGC) but it is not really recommended to use and not
> mentioned very much.
>
> On Sun, 5 Apr 2009 02:10:06 +0300
> emre berat nebioğlu <beratn at gmail.com> wrote:
>
> > What are the difference between CGC and 3m.Both has some advantage or
> > disadvantage ? Or It is just about running time or compilation time.
>
> Yes, they have both some advantages and other disadvantages, for more
> details you could take a look at this mail
> <http://www.cs.brown.edu/pipermail/plt-scheme/2006-June/013840.html>
> which explains how 3m works.
>
> > I dont know the whole issue on running time and compilation time.
> > Running time is same with compilation time.?
>
> No, to run MzScheme, you first have to compile it. At that point, you
> can decide whether your to-be-compiled MzScheme should use CGC, SGC or
> 3m as garbage collector [1]. You then compile MzScheme with your
> desired GC and then can run programs on MzScheme. The garbage collector
> is fixed by this time, so you cannot just switch in the middle of the
> program which Garbage Collector to use.
>
> > For example running time of merge sort is nlogn .This nlogn include
> > only time until array is sorted(I assume array is unsorted in first
> > time) or include this plus "clearing shared memory".
>
> The Big-O notation describes the time-complexity of an algorithm, not
> actually how long it will take exactly. As such, your algorithm will
> be O(n log n) on 3m and on CGC. The actual time that your program runs
> will change too, for course but usually not in a way that you'd get
> another time-complexity. What also changes is the amount of memory that
> MzScheme will use while it runs your program/algorithm.
>
> > But i just wonder about CGC and 3m. What do we exactly focus on
> > "garbage collector".
>
> On the efficient management of memory.
>
> regards,
> Marek
>
> [1] technically, even when selecting 3m, a CGC-version of MzScheme will
> be built, too
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20090405/bf1da203/attachment.html>

Posted on the users mailing list.