comp.lang.ada
 help / color / mirror / Atom feed
From: lars.farm@ite.mh.se (Lars Farm)
Subject: Re: Garbage Collection in Ada
Date: 1996/10/22
Date: 1996-10-22T00:00:00+00:00	[thread overview]
Message-ID: <19961022115550684270@dialup105-6-16.swipnet.se> (raw)
In-Reply-To: dewar.845904851@merv



I said:
> "I'm genuinely puzzled and simply trying to figure out which of the
> conflicting views is right: (1) my limited experience combined with
> others claims that the set of falsely retained pointers is relatively
> small. A small, perhaps negligible problem. or (2) Your claims that this
> is a serious error that likely will make my program fail. The views
> simply don't match. I need more information."

Robert Dewar <dewar@merv.cs.nyu.edu> wrote:
> That is a complete misreading of what I said, please go to an archive and
> reread the thread! I never said that it would "likely" make your program
> fail.

Ok. On doing so (see below) the impression I get is that I should expect
a crash per week.

A program that crashes once a week will be thrown off my disk because I
would consider it seriously broken. A program that crashes once per 3000
years would for many users be a negligible problem. At that rate there
are other bugs that will dominate in any work performed by humans.
Program development is still a human activity. This difference in
magnitude could illustrate the two conflicting views I mentioned. 

By the way, not every program guides missiles or airplanes. Some
programs have extraordinary stability requirements. This type of program
obviously needs more work than others. GC probably also has positive
effects on stability even for this kind of program. Simpler design leads
to fewer bugs, programmer induced faults. There is a break even point.


> Message-ID: <dewar.845505704@merv>

> Finally, there is one disadvantage of a conservative collector
> that you did not mention, namely the possibility that it will
> unexpectedly collect blocks that are in use.


> Message-ID: <dewar.845608007@merv>

> Are there really programs that count on conservative GC working? Well
> perhaps so. For example, Microsoft Word, at least the version I use,
> sometimes leaks memory, and just possibly this is a data dependent
> effect if it uses conservative GC, since it could be that if certain
> words are in your document, you are unlucky and some storage does
> not get freed.
> 
> Similarly you can imagine a command interpretor which works most of the
> time, except when a certain person logs on, because their password
> causes a critical section of storage not to be freed.


> Message-ID: <dewar.845747957@merv>

> I would say that relying on a conservative
>     garbage collector NOT to get unlucky is something that you 
>     can afford to do in one-off programs that don't need to be 
>     reliable, and perhaps even in typical PC software (so what 
>     if the word processor crashes once a week - that seems to be 
>     what people expect anyway).


>Message-ID: <dewar.845247229@merv>

> Just one point, virtual origins are not a problem at all in a proper
> garbage collector, only in approximate "conservative" ones, which are
> not so conservative and are happy to remove blocks in use if virtual
> orgins around. The technique of using virtual origins can perfectly
> well be used in C (see the sources of gigi for an example of this use).


>Message-ID: <dewar.845470185@merv>

> Well if your requirements here are so weak that you find that these
> kind of conservative GC's are acceptable, then what's your problem, 
...
> If you count on  a conservative
> collector to free storage, you have a very unreliable program, since 
> you could find on some particular run that you were just unlucky and
> a junk integer value held a critical large block in memory, causing
> the program to crash and burn. 


> Message-ID: <dewar.845559504@merv>

> 3. You cannot require blocks to disappear, since if you have conservative
> collectors in mind they do not guarantee to free even a single block in
> a given program.


> Message-ID: <dewar.845840549@merv>

  (comparing hashtable hazards favorably to conservative GC hazards)

> Well not so intolerable, there is a big difference btween compiling one
> program slower by a relatively small linear factor, and blowing up in
> an application at runtime because you ran out of memory. As I said

> Message-ID: <dewar.845809398@merv>
> Actually, as I have noted before, I am dubious about real
> applications depending on conservative GC,
















-- 
Lars Farm, lars.farm@ite.mh.se




  reply	other threads:[~1996-10-22  0:00 UTC|newest]

Thread overview: 126+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-10-13  0:00 Garbage Collection in Ada Jonas Nygren
1996-10-13  0:00 ` Robert Dewar
1996-10-13  0:00 ` Lars Farm
1996-10-13  0:00   ` Robert Dewar
     [not found]     ` <19961014115513529729@dialup105-2-16.swipnet.se>
1996-10-16  0:00       ` Robert Dewar
1996-10-16  0:00         ` Hans-Juergen Boehm
1996-10-16  0:00           ` Robert Dewar
1996-10-16  0:00             ` Hans-Juergen Boehm
1996-10-17  0:00               ` Robert Dewar
1996-10-17  0:00                 ` Hans-Juergen Boehm
1996-10-17  0:00                   ` Robert Dewar
1996-10-16  0:00         ` Lars Farm
1996-10-16  0:00           ` Robert Dewar
1996-10-16  0:00             ` Hans-Juergen Boehm
1996-10-17  0:00               ` Robert Dewar
1996-10-17  0:00                 ` Hans-Juergen Boehm
1996-10-17  0:00               ` Robert A Duff
1996-10-17  0:00                 ` Larry Kilgallen
1996-10-17  0:00                 ` Hans-Juergen Boehm
1996-10-17  0:00             ` Lars Farm
1996-10-23  0:00               ` Robert Dewar
1996-10-13  0:00   ` Larry Kilgallen
1996-10-14  0:00   ` Robert A Duff
1996-10-14  0:00     ` Lars Farm
1996-10-15  0:00       ` Robert A Duff
1996-10-16  0:00         ` Lars Farm
1996-10-16  0:00           ` Robert Dewar
1996-10-17  0:00             ` Robert A Duff
1996-10-19  0:00               ` Robert Dewar
1996-10-19  0:00                 ` Lars Farm
1996-10-20  0:00                   ` Robert Dewar
1996-10-20  0:00                     ` Robert A Duff
1996-10-20  0:00                       ` Robert Dewar
1996-10-21  0:00                     ` Lars Farm
1996-10-21  0:00                       ` Robert Dewar
1996-10-21  0:00                         ` Lars Farm
1996-10-21  0:00                     ` Geert Bosch
1996-10-21  0:00                       ` Hans-Juergen Boehm
1996-10-23  0:00                     ` Fergus Henderson
1996-10-24  0:00                     ` Richard A. O'Keefe
1996-10-20  0:00                 ` Robert A Duff
1996-10-20  0:00                   ` Robert Dewar
1996-10-21  0:00                     ` Hans-Juergen Boehm
1996-10-21  0:00                       ` Robert Dewar
1996-10-19  0:00               ` Richard Kenner
1996-10-15  0:00     ` Hans-Juergen Boehm
1996-10-14  0:00   ` John Howard
1996-10-15  0:00     ` Lars Farm
1996-10-15  0:00       ` Robert Dewar
1996-10-15  0:00         ` Hans-Juergen Boehm
1996-10-15  0:00         ` Lars Farm
1996-10-17  0:00         ` Thomas Kendelbacher
1996-10-17  0:00           ` Robert Dewar
1996-10-23  0:00         ` Richard A. O'Keefe
1996-10-23  0:00           ` Larry Kilgallen
1996-10-15  0:00       ` Robert A Duff
1996-10-15  0:00   ` Keith Thompson
1996-10-14  0:00 ` Jon S Anthony
1996-10-15  0:00   ` Robert Dewar
1996-10-15  0:00 ` Hannes Haug
1996-10-15  0:00 ` Robert I. Eachus
1996-10-15  0:00   ` Robert Dewar
1996-10-16  0:00   ` whiting_ms@corning.com (Matt Whiting)
1996-10-16  0:00     ` Robert Dewar
1996-10-17  0:00   ` John Howard
1996-10-17  0:00     ` Robert Dewar
1996-10-18  0:00       ` Lars Farm
1996-10-20  0:00         ` Robert A Duff
1996-10-18  0:00       ` Lars Farm
1996-10-19  0:00         ` Robert Dewar
1996-10-20  0:00           ` Lars Farm
1996-10-21  0:00             ` Robert Dewar
1996-10-22  0:00               ` Lars Farm [this message]
1996-10-21  0:00             ` Nicolay Belofastow
1996-10-21  0:00               ` Robert Dewar
1996-10-20  0:00         ` Robert A Duff
1996-10-20  0:00           ` Robert Dewar
1996-10-22  0:00         ` Mitch Gart
1996-10-23  0:00           ` Hans-Juergen Boehm
1996-10-27  0:00             ` Richard Riehle
1996-10-23  0:00           ` Fergus Henderson
1996-10-29  0:00         ` Jon S Anthony
1996-10-30  0:00         ` Brian Rogoff
1996-10-30  0:00         ` Jon S Anthony
1996-10-30  0:00         ` James Rogers
1996-10-30  0:00         ` Jonas Nygren
1996-10-18  0:00       ` Hans-Juergen Boehm
1996-10-16  0:00 ` Jon S Anthony
1996-10-16  0:00 ` Jon S Anthony
1996-10-17  0:00   ` Robert Dewar
1996-10-16  0:00 ` Ole-Hjalmar Kristensen FOU.TD/DELAB
1996-10-16  0:00   ` Robert Dewar
1996-10-16  0:00 ` Jon S Anthony
1996-10-16  0:00 ` Jon S Anthony
1996-10-17  0:00 ` Rick Hudson
1996-10-17  0:00 ` Robert I. Eachus
1996-10-17  0:00   ` Robert Dewar
1996-10-17  0:00     ` Richard Kenner
1996-10-17  0:00 ` Hans-Juergen Boehm
1996-10-18  0:00 ` Jon S Anthony
1996-10-18  0:00   ` Robert Dewar
1996-10-18  0:00 ` Jon S Anthony
1996-10-23  0:00   ` Robert Dewar
1996-10-18  0:00 ` Rick Hudson
1996-10-21  0:00 ` Jon S Anthony
1996-10-21  0:00 ` Laurent Pautet
1996-10-22  0:00 ` Tapani Rundgren
1996-10-22  0:00 ` Jon S Anthony
1996-10-23  0:00 ` Jon S Anthony
1996-10-24  0:00   ` Mitch Gart
1996-10-24  0:00 ` Hans-Juergen Boehm
1996-10-24  0:00 ` Robert I. Eachus
1996-10-25  0:00 ` Jon S Anthony
1996-10-28  0:00 ` Robert I. Eachus
1996-10-29  0:00 ` Hans-Juergen Boehm
  -- strict thread matches above, loose matches on Subject: below --
1996-11-02  0:00 Jon S Anthony
     [not found] <01bbc6a3$4cf03480$829d6482@joy.ericsson.se>
1996-10-31  0:00 ` Mitch Gart
1996-10-31  0:00   ` Jonas Nygren
1996-11-03  0:00   ` Matthew Heaney
1996-11-06  0:00     ` Robert A Duff
1996-11-06  0:00       ` Norman H. Cohen
1996-11-01  0:00 ` Jon S Anthony
1996-11-06  0:00 ` Brian Rogoff
1996-11-07  0:00   ` Tucker Taft
1996-10-22  0:00 Brian Rogoff
1996-10-11  0:00 C++ Standardization (was: Once again, Ada absent from DoD SBIR solicitation) Dave Wood
1996-10-17  0:00 ` Garbage Collection in Ada Thomas Kendelbacher
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox