9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: David Tolpin <dvd@davidashen.net>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] Re: advantages of limbo
Date: Tue,  2 Mar 2004 12:20:39 +0400	[thread overview]
Message-ID: <200403020820.i228Kd1D071531@adat.davidashen.net> (raw)
In-Reply-To: <da5a32073db397c43ce9602ee964d413@plan9.bell-labs.com>

> From 9fans-admin@cse.psu.edu  Tue Mar  2 12:02:21 2004
> Subject: Re: [9fans] Re: advantages of limbo
> From: David Presotto <presotto@closedmind.org>
> To: 9fans@cse.psu.edu
> Content-Type: text/plain; charset="US-ASCII"
> Date: Tue, 2 Mar 2004 03:02:46 -0500
>
> On the topic of garbage collectors, one of the main reasons for reference
> counting objects and immediately releasing them when they become unreachable
> was to use garbage collection to allow control not only of memory but also
> resources memory represents.  The typical example given is one of windows
> that go away as soon as the last reference to them (actually the object representing
> them) goes away.  

Does that mean that designers of Inferno windowing system were
required to avoid using cyclic references in window structures?
That is, a window does not know who its creator is? 

It's a decision. But a limiting one. Influenced by an implementation.
Just running garbage collector with limited scope would do it
without limitations.

> Also, the reference counting had a distinct advantage of
> being fixed time.  We had a terrible time with java systems of the time
> going away for long periods, both because of the garbage collector going
> off and because of the odd interactions in finalize routines in various
> classes.

It was not a tradeoff of normal garbage collection. Fixed-time garbage
collection techniques existed long before java. It was just an early
implementation to make it running.

> Over the years since limbo appeared, java garbage collection has changed
> radicly and often, drasticly reducing the 'time to take a coffee break'
> garbage collection runs.  By the 1.4.1 jdk, java included 6 or more
> gabage collection strategies and all sorts of tuning parameters.  Along
> the way all sorts of user code was written to avoid tickling the collectors
> at the wrong time or to get things done before they went off.   That's
> a hell of a lot of effort to avoid the small differences advertised by
> the proponents of m&s and generational gc over reference counting.

Among 61864 lines of tight Java code I have been involved in writing
during last two years there is not a single line which was written to
avoid tickling the collector at the wrong time. It just works.

> Of course, limbo isn't immune from odd timings.  However, they do require
> reference loops and those seem not very common amongst limbo programmers.
>

Is there any other reason reference loops are not very common amongs
limbo programmers besides limitations of the garbage collector?

David


  reply	other threads:[~2004-03-02  8:20 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-03-02  8:02 David Presotto
2004-03-02  8:20 ` David Tolpin [this message]
2004-03-02  8:55   ` David Presotto
2004-03-02  9:20   ` Rob Pike
  -- strict thread matches above, loose matches on Subject: below --
2004-03-03  7:37 YAMANASHI Takeshi
2004-03-03 12:29 ` boyd, rounin
2004-03-03  7:21 YAMANASHI Takeshi
2004-03-03  7:29 ` Kenji Okamoto
2004-03-03  7:31   ` Kenji Okamoto
2004-03-02 15:03 rog
     [not found] <d02d8014f5f4b58c6863ec7a3cd652ee@proxima.alt.za>
2004-03-02  9:07 ` David Tolpin
2004-03-02 10:04   ` lucio
2004-03-02 10:08     ` Fco.J.Ballesteros
2004-03-02 11:35       ` matt
2004-03-02 18:38         ` boyd, rounin
2004-03-02 19:03           ` Fco.J.Ballesteros
2004-03-02 19:10             ` rog
2004-03-02 19:08               ` Fco.J.Ballesteros
     [not found] <918d202b192f1bcb8dd969285010a329@proxima.alt.za>
2004-03-02  8:37 ` David Tolpin
     [not found] <f62d09b11d1f097b3f4b5f6b70b65ea5@proxima.alt.za>
2004-03-02  6:58 ` David Tolpin
2004-03-02  7:06   ` Fco.J.Ballesteros
2004-03-02  7:08     ` David Tolpin
2004-03-02  7:14       ` Fco.J.Ballesteros
2004-03-02  7:30         ` David Tolpin
2004-03-02  7:37           ` Fco.J.Ballesteros
2004-03-02  7:48             ` David Tolpin
2004-03-02  9:50               ` Fco.J.Ballesteros
2004-03-02 20:50               ` Andrew Simmons
2004-03-02 20:56                 ` matt
2004-03-02 20:57                   ` ron minnich
2004-03-02 12:44           ` Bruce Ellis
2004-03-02  7:50   ` lucio
2004-03-02  7:56     ` David Tolpin
2004-03-02  8:12       ` Charles Forsyth
2004-03-02  8:12         ` David Tolpin
2004-03-02  8:45           ` Charles Forsyth
2004-03-02  8:51             ` David Tolpin
2004-03-02  9:06               ` David Presotto
2004-03-02  9:14                 ` David Tolpin
2004-03-02  9:26                   ` Charles Forsyth
2004-03-02 15:04       ` rog
2004-03-02 15:12         ` David Tolpin
2004-03-02 16:03         ` C H Forsyth
2004-03-02 16:06           ` David Tolpin
2004-03-02 16:24             ` David Tolpin
2004-03-02 16:35             ` C H Forsyth
2004-03-02 17:18     ` andrey mirtchovski
2004-03-02 12:39   ` Bruce Ellis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200403020820.i228Kd1D071531@adat.davidashen.net \
    --to=dvd@davidashen.net \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).