[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How fast will the Guile VM be?

From: Jim Blandy
Subject: Re: How fast will the Guile VM be?
Date: 04 Sep 2000 14:02:07 -0500

> However, I don't think the VM is faster than native-code compilers.
> Dan said his goal with his new QScheme that uses a JIT compiler is to
> have scheme code run only two times slower than equivalent C code.
> On the other hand, I suppose some Scheme compilers produce native code
> that run as efficient as or faster than C programs, right?  Do they
> have slower interpreters or no interpreter?

There are plenty of Scheme systems that produce native code.  There's
even been a lot of work on optimizations almost irrelevant to C, but
critical to Scheme and similar languages.

- MIT Scheme does some pretty powerful program analysis.  For example,
  its compiler can detect that the Y-combinator represents an ordinary
  loop.  It certainly generates machine code.  But I don't think its
  back ends are especially good.

- Chez Scheme has a bunch of easy, clever ideas for generating good
  machine code on the fly.  See "Destination-Driven Code Generation",
  available on  This paper
  presents a straightforward way to generate machine code from a tree of
  machine-level operations that, he claims, often doesn't need peephole

- Will Clinger's home page,, contains
  pointers to a very nice description of the optimizations done by
  Twobit.  The explanation of the `incremental lambda lifting'
  optimization, which lets you eliminate a lot of closure generation, is
  especially nice.

- If I remember correctly, Olin Shivers' PhD thesis was about
  analyzing control flow in higher-order functional languages.  Since
  Scheme encourages people to build the control structures they need
  from lambdas, these optimizations are quite relevant.

> There are lots of Scheme compilers/interpreters, so I don't quite
> understand which one has what feature.  Is there a good summary of
> features/benchmarks between several systems?

Will Clinger has some (according to Mr. Clinger) obsolete benchmarks

reply via email to

[Prev in Thread] Current Thread [Next in Thread]