Performance Improvements

The Hotdog Scheme compiler is relatively simple, but it still leaves room for many enhancements. The current implementation will generate a large number of classes, one for each closure in a Scheme program. This results in larger memory overhead, as each class takes up some space in the VTABLE. Because every closure is implemented as a virtual method on a subclass of the Closure class, the VM may not be able to inline code. Furthermore, the environments lose any type information that might be deduced at compile time. All these features can be improved somewhat by extending the base implementation.

Although Hotdog treats all closures as the same, many of them can be optimized away. A closure is used to treat a body of ...

Get Programming in the .NET Environment now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.