Scheme Platform Speed Measurements

One of the more fun parts of this project is that I get a pretty good overview of the state-of-the-art for Scheme implementations, and well, I care about performance. In fact, the promised performance of Stalin was one of my larger motivation sto start this project in the first place.

Well it's particularly gratifying that I'm starting to develop some performance comparisons on real-world programs written in Scheme. Here I am documenting performance results obtained from real programs I have written to get real work done, both at my day job and elsewhere. To be sure, you can't draw a lot of conclusions from this data as benchmarking is something of a black art (it is hard to be sure that the effects you see in fact derive from what you're trying to test), but the data is worth something.

Program Systems Tested Description

This was an early test of the time it took for S2 to bootstrap itself on the different platforms. I wrote it up on comp.lang.scheme back in April of 2000. S2 is larger and more complex now, plus I support more platforms, so expect this test to get repeated at a lateer date.


This program calculates histogram of the string edit-distances of the lines in the input file and saves that histogram to another file as a Scheme datum">. It is rather naively written and exercises the allocator and collector more than it really needs to, but real world programs are often like this.

Anyway, I've posted the results on comp.lang.scheme along with some clarifications and discussion of the specific performance issues in Chicken. And after much advice from various people on comp.lang.scheme, I optimized the compiler options and got fairly different results.

David Rush
Last modified: Tue Jun 10 21:17:52 IST 2003