Hi--
I have a variant of the garbage collector working, one which doesn't
mark methods which haven't been run recently. This does most of the work
of shrinking an object memory, in one fell swoop (and it runs at full
speed). Now I just kill unwanted processes from afar, clear all method
activation marks, run a few things I know I'll want (mostly support for
remote messaging), then make a snapshot. The automatic removal of unrun
methods this way causes a chain reaction, with the freeing of unused
method literals.
What used to take days (shrinking manually with a remote system
browser) now takes a couple of seconds.
-C
--
Craig Latta
improvisational musical informaticist
www.netjam.org
Smalltalkers do: [:it | All with: Class, (And love: it)]
Hi--
Two new developments:
- Naiad is Spoon's module system. I wrote previously about a scheme for
using URLs to issue Naiad commands (load a module, make a snapshot,
quit, etc.). The first sample web page with Naiad commands on it is
http://netjam.org/spoon/modules/. (Currently it's only interesting as a
description of the scheme and as an example of a Naiad command URL; you
need the as-yet-unreleased Spoon 1a13 or later to actually run it.)
- I've built a working remote process browser. This is handy for
manipulating processes in a headless system from afar. I'm using it to
debug a module which removes all non-essential objects from a target
system. With this module, I'll have the liberty of throwing away small
object memories (e.g., if I make some fundamental change that's
difficult to retrofit), since it'll be easy to just make new ones.
thanks,
-C
--
Craig Latta
improvisational musical informaticist
www.netjam.org
Smalltalkers do: [:it | All with: Class, (And love: it)]