Chez


http://www.scheme.com

Described as "the world's fastest and most reliable implementation of Scheme" on the website, I haven't seen much to contradict this.

Chez Scheme is produced primarily by Kent Dybvig and has been around for a long time, yet, unlike MIT-Scheme?, is still undergoing active development. Chez contains a native code compiler that generates code for PowerPC, x86, and Sparc architectures (supporting Windows, Linux, Mac OS X, and Solaris). The compiler is very fast both in compilation speed and in execution speed of the compiled code. This makes Chez Scheme especially suited to applications that dynamically generate and execute code.

Unfortunately, Chez Scheme's compiler is sold commercially at a nontrivial cost. As a result, adoption of the dialect is limited, as is library support. Some of this is ameliorated by Chez's efficient and easy-to-use FFI, which allows the use of libraries with C calling conventions.

In spite of barriers to use of the native code compiler, an interpreted version of the system, Petite Chez Scheme?, is freely distributed. From the web site:

Petite Chez Scheme is a complete Scheme system that is fully compatible with Chez Scheme but uses high-speed threaded interpreter technology in place of Chez Scheme's incremental native-code compiler. Programs written for Chez Scheme run unchanged in Petite Chez Scheme, as long as they do not depend specifically on the compiler. In fact, Petite Chez Scheme is built from the same sources as Chez Scheme, with all but the compiler sources included.

Petite Chez Scheme may be used without license fee or royalty for any purpose, including for resale as part of a commercial product. (See the license agreement shipped with Petite Chez Scheme for details.)

I can attest that that Petite is surprisingly fast. I am currently working on the implementation of a domain specific language in Scheme(http://www.regiment.us/). The implementation is >50K lines of Scheme code, and compiles under both Chez and PLT-Scheme. Chez compiles and loads the system in 1.3 seconds, and completes the unit test suite in 13 seconds. Whereas Petite loads the program in 0.7 seconds and runs the unit test suite in 31 seconds. 2.5 times slower, but still quite fast -- for reference, PLT-Scheme takes a much longer time to compile, and executes the test-suite in 11.8 minutes on the same machine. (Keep in mind, however, that this particular application generates and runs simulations; the extreme difference in performance is probably due to the heavy use of eval.)


category-implementations