[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