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


Groups > comp.lang.forth > #38402

Re: Oforth : garbage collector

From Paul Rubin <no.email@nospam.invalid>
Newsgroups comp.lang.forth
Subject Re: Oforth : garbage collector
Date 2015-04-19 20:38 -0700
Organization A noiseless patient Spider
Message-ID <878udnjwpq.fsf@jester.gateway.sonic.net> (permalink)
References (6 earlier) <b4388167-ae01-4aaf-b904-23b7617fb22b@googlegroups.com> <878udrj1rd.fsf@jester.gateway.pace.com> <b884e65a-5d0e-46c3-89b1-e4e80012b566@googlegroups.com> <874mofiyg6.fsf@jester.gateway.pace.com> <76f428e3-d3f7-454f-b8d5-a287af60d9e8@googlegroups.com>

Show all headers | View raw


franck.bensusan@gmail.com writes:
> Yes, a mark and sweep is a stop the world algorithm. But does this
> mean that a program can't run as a real time program when GC is a mark
> and sweep ?

At least for traditional M&S, I would think so.  You seem to be using
some kind of incremental version and you have another post about it that
I'll have to find again for info.



> For instance, for a program that will create 10000 objects at startup
> and will use them without creating many other objects, Oforth GC will
> run less than 10 microseconds every 120 ms. Fast enough for some real time
> applications, I suppose.

But the GC can't tell in general how many objects will be created
between GC passes.  If you're going to code in a style that allocates no
objects after startup, you don't need GC at all.  Real-time GC means
that the GC is guaranteed to never stop the program for longer than X
microseconds for some X, with some additional guarantees about how much
work the application ("mutator" in GC jargon) must be allowed to do
between GC passes.


>  for next version, I will add two options:
> - a minimal allocated memory for GC to run ==> M
> - A number of milliseconds between 2 GC ==> T

I think it could be cool to actually implement one of the real-time GC
algorithms.

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


Thread

Oforth : garbage collector franck.bensusan@gmail.com - 2015-04-13 13:43 -0700
  Re: Oforth : garbage collector Paul Rubin <no.email@nospam.invalid> - 2015-04-14 10:38 -0700
    Re: Oforth : garbage collector franck.bensusan@gmail.com - 2015-04-14 14:17 -0700
      Re: Oforth : garbage collector Paul Rubin <no.email@nospam.invalid> - 2015-04-15 13:21 -0700
        Re: Oforth : garbage collector hughaguilar96@gmail.com - 2015-04-15 14:04 -0700
          Re: Oforth : garbage collector Mark Wills <markwills1970@gmail.com> - 2015-04-16 00:57 -0700
            Re: Oforth : garbage collector franck.bensusan@gmail.com - 2015-04-16 10:42 -0700
              Re: Oforth : garbage collector Paul Rubin <no.email@nospam.invalid> - 2015-04-16 12:45 -0700
                Re: Oforth : garbage collector franck.bensusan@gmail.com - 2015-04-16 13:27 -0700
                Re: Oforth : garbage collector Paul Rubin <no.email@nospam.invalid> - 2015-04-16 13:56 -0700
                Re: Oforth : garbage collector franck.bensusan@gmail.com - 2015-04-19 11:43 -0700
                Re: Oforth : garbage collector Paul Rubin <no.email@nospam.invalid> - 2015-04-19 20:38 -0700

csiph-web