Sunday, June 7, 2009

SBCL core image dump

HOLY FUCKING SHIT.
How did I not get the memo on this?

A brief explanation of my sicedness:
When you exit out of SBCL (Steel Bank Common LISP,) you have the option of dumping an image of the process to disk that you can restart at any time. By restart I really mean start because you can run an arbitrary number of copies of the image.

So uh... who cares, right? Well loading a core image is reasonably fast. Faster than rebuilding your environment for sure. If you use LISP for CGI shit, you probably want to be loading a core image instead of loading/compiling all your shit from scratch. And using LISP for web development generally requires a good number of non-native shit. CLSQL comes to mind. So yeah... images can be used as templates.

Presumably... you can also keep an image around for each user. So instead of the query/response, stop and go computation that's typical of web development, you can have an actual persistent environment. This can get expensive since core images are not small. The one I use is 29 megs and I'm sure they can get bigger. Maybe not the most practical but damn it makes me wet just thinking about it.

Anyways... LISP rules

No comments: