Embedding VMs

Bill House bhouse@dazsi.com
Mon, 28 Apr 1997 20:55:15 -0700

Paul Prescod wrote:

>Second, failing that, am I risking adding to the Lisp is slow myth? I
>don't think so. JVM's are just software. If Lisp is slow in Microsoft's
>JVM but fast in GNU's, then there is proof positive that the problem is
>in the VM and not in the language or even the compiler. Furthermore,
>people will always have the *option* of deploying a faster Lisp-friendly
>VM. If you absolutely need your app to run on machine FOO you deploy as
>bytecodes. If you absolutely need it to run QUICKLY on FOO then you must
>deploy your bytecodes and optimized VM. But at least you have a choice.
>With LispOS, I have no choice: deply LispOS or don't run this app.

I wholeheartedly agree with everything you've been saying.

FWIW, we've got a running Lisp VM in AgentBase that is 20% faster than VB5
native compiled code (with all their optimizations on). That doesn't say much
for VB5, but it does illustrate that a Lisp VM can be quite fast. Further,
we're scheduled to have real-time translation of our 32-bit VM code to native
Intel in the summer timeframe. At that time, we fully expect to be competitive
with most C++ compilers. This is in an engine that has a 1.3 MB footprint.

Adding support for JIT translation of JVM bytecodes shouldn't be a big deal. It
may fatten us up a bit, but not so much that it would discount the value of
being able to successfully supplant the installed base of JVMs.

I don't think we'll be adding to the "Lisp is slow" myth. On the contrary, I
think we will be debunking that myth, and proving that Lisp can integrate with
everything. Even today, I can use AgentBase from within Word and Excel, via our
OLE wrapper. This isn't wishful thinking, it's running software.

BTW, I've already touched base with some standards folks and there does seem to
be a bit of interest in what we're proposing. Sun is apparently is taking a
very unfortunate stance re: the standards process -- they don't like the idea
of their proprietary standard being touched in any way by an ANSI or ISO
technical committee. Hopefully, if we can get our act together in time, we (the
Group 1 Lisp VM project) will be ready to step in with a solid spec and a
reference implementation in time to assure Lisp a piece of the 21st century,
whether by addition to the JVM standard, or (more likely) by creating our own
UVM standards committee.  The stars, as it were, are beginning to align in our

Bill House
The views expressed are mine alone,
unless you agree with me.