[Openmcl-devel] Moving large amount of data with OpenMCL

Marco Baringer mb at bese.it
Sun Jan 16 09:26:55 PST 2005

"Andrew P. Lentvorski, Jr." <bsder at mail.allcaps.org> writes:

> Second, is there a way that I can "freeze" the data image of a running
> openmcl instance and push it to disk for a later reload.  It would be
> nice to not have to reload, reprocess, and re-sort this data every
> time.  Being able to just let openmcl suck in a memory image or
> something would be a lot better.

you save just about any data structure to disk (except threads,
streams and objects which don't have a print-object method) by simply
compiling a file containig:

(setf *data-structure-root* '#.*data-structure-root*)

that file, when loaded, will set *data-structure-root* to whatever
value it had when the file was compiled. this technique, while
occasionally usefull, does have some limits:

1) apparently (but i didn't spend too much time looking into it) you
   can not save more than 2^32-1 distinct objects in a single file.

2) compiling is slow (loading is quite fast though).

your other option is to just use save-application.

Ring the bells that still can ring.
Forget the perfect offering.
There is a crack in everything.
That's how the light gets in.
	-Leonard Cohen

More information about the Openmcl-devel mailing list