[Oberon] garbage collector

Patrik Reali reali at acm.org
Tue May 20 16:54:08 CEST 2003


<Chris Glur> wrote:
[...]
> 10 days since I rebooted, and hundreds of e-mails, News, https
> have passed through (some are still 'packed' as viewers waiting
> to be filed). Now sometime a mouse or key response delay of
> half a second occurs.
>
> I'm guessing that  'forced' GC is often causing the delay  ?

This is possible. System.Collect forces a collection: try if this command
causes the delay.


> Is the heap off-on loaded to/from the hard drive ?

No, Oberon does not use demand paging. The system only uses the RAM
installed, nothing more.


> I think the RAM is only 20 Mb.
> I did HyperDocs.ClearCache with no noticable improvement.

This only clears the cache containing the last viewed html pages. These are
stored on disk (as far as I remember).
The GC takes time because it has to traverse all structures allocated in
memory.


> Perhaps unloading unused modules ?

This is possible, but be careful to unload them correctly. If a module
installs some procedures in other modules, you first have to deinstall them
or you will get a trap next time they are called (this is a known limitation
of the garbage collector, which does not traverse procedure pointers).

> Or is this done automatically ?

No. Modules are never unloaded by the system.

-Patrik




More information about the Oberon mailing list