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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access