VM fast enough?

Gilbert Baumann gilbert@ma2s2.mathematik.uni-karlsruhe.de
Mon, 28 Apr 97 03:59:51 +0200

Rainer Joswig <joswig@lavielle.com> writes:
> Would you think a VM would be fast enough?
> Not for writing small gimmick applets, but for running
> publishing systems, 3d renderers, doing sound synthesis,
> CAD applications, multimedia environments, ...?
Tough question.

> Those are all Lisp applications of today.
Don't know, haven't seen Lisp in real life usage :-( 

> Would it be fast? I mean fast enough? Or even really
> fast? Without building a chip (-> SUN).
> How to incorporate MPEG playback, QuickTime, PostScript
> engine, JPEG de/compression, GZIP, TCP/IP, ...?

I think, stuff like MPEG playback, JPEG de/compression, GZIP would
really suffer from an VM implementation. It is allready hard enaugh to
write suitable fast Lisp code for decoding .png files using ACL and
lots of declarations; This involves rfc1951 decompression, applying
filters to the rows of image data and finally dither the image if
necassary. But these are not things, I want to do all the day.

The VM idea is neat anyway. But the longer I think about it, the more
difficult appears it to me to offer decent performance on the tasks
mentioned above.

> Are there any VM implementations for Java that one
> would consider fast? JIT compilation?

Why looking at Java? Want does the Java camp offer besides lots of
hype and ugly syntax?

> - What should the Lisp OS do?
Less paging, less crashing :-)

> - What would be typical
>   applications (a listener is barely enough)?

I think this question is somewhat bogus. By saying X is typical and Y
is not, we would stamp Lisp as a special purpose language. Which
applications will exist on the Lisp OS, will depend on the developers

But I think Lisp could be strong on CAD. Take electronic CAD
(Schematic + Autorouter), [a field I have some insight] there is a
great demand for a solution. Most applications are of bad quality and
what is more important: Interfaceing between the individual
applications needs in-house implemented conversation tools. There are
somewhat standard data formats, but there are screwed up most of the
time. A one-address space Lisp OS would surly help here a lot. I have
done much glueing work in this particular field. Also all applications
have thier very own broken extension language. This could be a strong
point for the Lisp OS -- all applications would be easily extentable
or fixable by hooking in new code into the menus and by using the
advice feature. [When the source is not available.]

> - Where to start?

We have CL-HTTP and I have my Lisp implemented web browser (80%
finished, I'll make it available it as soon as I approach 90%). This
could be starting point. Target the Web! Explain to the people why
running CL-HTTP on Lisp OS is better than using a unix solution. It
will, I know. Offer the people more powerful tools to design their
pages. Why did I hit so many dead links on my todays web journey? --
inferior tools.

> - What are the target platforms?

I think this depends on the platforms available to Lisp OS developers;
but we should start on the Intel PC platform, because:

o They cost nearly nothing. You could get some i486 really cheap or
  have one shut down, because Win95 is too slow on it. So you could
  afford to have an Intel PC dedicated for the Lisp OS.

o Other platforms are just not affordable for students like me. Nearly
  every student I know has a PC running under Linux. Since virtually
  every machine at Uni is running unix, we enjoy having a unix at home

The situation may be different in the academic environment. 

Since running the Lisp OS forbids running another OS concurrently the
platform does not really matter as long as it is cheap enaugh. The
Lisp OS must only be good at TCP/IP communication.

> - What are the target users
>   (there are not that much Lisp hackers nowadays)?

What was the original target of early Linux? It were hackers and as
Linux got stable, people which got tired of Windows. I love Lisp. I
love to try out new ideas, so Lisp is the right tool for me. And: The
longer I browse thru' the old Symbolics manuals, the more I begin to
hate unix and its primitive programming language C.

I think there are enaugh niches, where a dedicated machine running
Lisp OS, could exist. In the academic environment may be enaugh
projects, which would consider using the Lisp OS. And Lisp need'nt be
the only language supported, there are enaugh people tired of C.

> Sorry for all those questions.

Thank you for all those questions -- They helped me to get my ideas
about the Lisp OS a bit organized.

[Ebenfalls ein Hanseat]