Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.compilers > #1250

Re: Historical Implementations to Garbage Collectors

From "Robin Vowels" <robin51@dodo.com.au>
Newsgroups comp.compilers
Subject Re: Historical Implementations to Garbage Collectors
Date 2014-05-21 18:37 +1000
Organization Compilers Central
Message-ID <14-05-025@comp.compilers> (permalink)
References <14-05-001@comp.compilers> <14-05-009@comp.compilers> <14-05-012@comp.compilers> <14-05-017@comp.compilers> <14-05-021@comp.compilers>

Show all headers | View raw


From: "George Neuner" <gneuner2@comcast.net>
> Our esteemed moderator wrote:

>>[You don't need anything that fancy for strings to overlap.  With null
>>terminated readonly C-style strings, you can combine "storage" and
>>"rage" and "age".  Wih strings represented by a pointer and length,
>>they can overlap anywhere.
>
> Yes.  Tricks like that were used frequently in memory constrained
> implementations.

I wouldn't call it a "trick".  It's a carefully-planned algorithm.

> Pointer:length pairs permit multiple use of substrings, but don't
> permit constructing a new string from arbitrary pieces of existing
> ones.  The tree representation can permit completely arbitrary
> substring sharing.

The overheads of that would be intolerable.  The address-length
pair is simple to use, can be passed easily as an argument
(and returned easily from a function), and there is -- essentially --
no overhead until the dynamic string space gets used up,
after which garbage collection is necessary.

> Of course, given the small amount of memory available to early
> implementations, tree representation of strings would have been
> unworkable.

Even with lots of memory, not really a proposition on account of
overheads.  With lots of memory, the garbage collection routine
might not even be called.
--
This email is free from viruses and malware that avast! Antivirus
protection knows about, but is likely riddled with ones that it
doesn't.

Back to comp.compilers | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Historical Implementations to Garbage Collectors "lpsantil@gmail.com" <lpsantil@gmail.com> - 2014-05-03 16:02 -0400
  Re: Historical Implementations to Garbage Collectors rpw3@rpw3.org (Rob Warnock) - 2014-05-04 07:04 +0000
  Re: Historical Implementations to Garbage Collectors "Robin Vowels" <robin51@dodo.com.au> - 2014-05-04 19:06 +1000
    Re: Historical Implementations to Garbage Collectors Kaz Kylheku <kaz@kylheku.com> - 2014-05-05 00:47 +0000
      Re: Historical Implementations to Garbage Collectors "Robin Vowels" <robin51@dodo.com.au> - 2014-05-06 01:23 +1000
      Re: Historical Implementations to Garbage Collectors George Neuner <gneuner2@comcast.net> - 2014-05-06 10:55 -0400
        Re: Historical Implementations to Garbage Collectors George Neuner <gneuner2@comcast.net> - 2014-05-07 00:12 -0400
          Re: Historical Implementations to Garbage Collectors "Robin Vowels" <robin51@dodo.com.au> - 2014-05-21 18:37 +1000
            Re: Historical Implementations to Garbage Collectors Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2014-05-22 13:37 +0200
      Re: Historical Implementations to Garbage Collectors mac <acolvin@efunct.com> - 2014-05-06 18:02 +0000
        Re: Historical Implementations to Garbage Collectors Kaz Kylheku <kaz@kylheku.com> - 2014-05-07 05:34 +0000
  Re: Historical Implementations to Garbage Collectors "Charles Richmond" <numerist@aquaporin4.com> - 2014-05-05 08:28 -0500
    Re: Historical Implementations to Garbage Collectors Gene Wirchenko <genew@telus.net> - 2014-05-06 20:23 -0700

csiph-web