9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: David Presotto <presotto@closedmind.org>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] Re: advantages of limbo
Date: Tue,  2 Mar 2004 03:55:46 -0500	[thread overview]
Message-ID: <ba8ef9f529e042bc7e853ee8e3667a72@plan9.bell-labs.com> (raw)
In-Reply-To: <200403020820.i228Kd1D071531@adat.davidashen.net>

> 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? 

Yup, as long as something had a reference to the window, the window stayed
around.  If the reference is in  cyclic struct that becomes unreachable,
it will get collected.  However the immediacy that users expect is lost.

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

All decisions are limiting.  You pay extra for limited
scope just as you do for reference counting.  If you limit the scope
small enough that you release things as quickly, then you have
the equivalent of reference counting with higher cost.

>  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.

We lived with this 'just to make it running' for several years.  The jdk's
now contain multiple gc techniques including fixed time ones.  From outside
the VM the two are indistinguishable unless you care when the memory is
freed, i.e., if when the freeing is visible.  That happens both in  java
and in limbo if the finalize routines can have extrernally visible effects.

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

The garbage collector has little influence on our programming of cyclic
structs, expecially since the gc correctly collects those cycles when they
are freed.  However, people seem to understand dags better then cyclic
structures and make less mistakes manipulating them, so they use them more often.


  reply	other threads:[~2004-03-02  8:55 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
2004-03-02  8:55   ` David Presotto [this message]
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=ba8ef9f529e042bc7e853ee8e3667a72@plan9.bell-labs.com \
    --to=presotto@closedmind.org \
    --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).