显然,这取决于你想要做什么:数值分析、线程、数据库等等。我看过一些基准测试;Larceny和Bigloo似乎是领先的。有没有Scheme的实现在几个不同的基准测试中表现得相当不错?有没有能够创建比SBCL生成的代码运行更快的方案?我不明白为什么SBCL应该如此快 - Scheme语言比Common Lisp简单得多!
显然,这取决于你想要做什么:数值分析、线程、数据库等等。我看过一些基准测试;Larceny和Bigloo似乎是领先的。有没有Scheme的实现在几个不同的基准测试中表现得相当不错?有没有能够创建比SBCL生成的代码运行更快的方案?我不明白为什么SBCL应该如此快 - Scheme语言比Common Lisp简单得多!
http://community.schemewiki.org/?Stalin
http://en.wikipedia.org/wiki/Stalin_(Scheme_implementation)
根据维基百科:
Stalin(STAtic Language ImplementatioN)是由Jeffrey Mark Siskind编写的一种积极优化的批处理整个程序Scheme编译器。它使用先进的流分析和类型推断以及各种其他优化技术来生成代码。 Stalin旨在用于生成优化的可执行文件。
编译器本身运行缓慢,几乎没有支持调试或其他良好特性。支持完整的R4RS Scheme,有少量且很少遇到的遗漏。与外部C库的接口很简单。编译器本身进行寿命分析,因此不会生成太多垃圾,但全局存储回收使用Boehm垃圾收集器。
看起来Stalin
已经不再开发了。
在完全符合标准(至少符合R5RS)并且可以直接使用的Scheme方案中,Chez Scheme 必须是最快的。
compile-whole-program
(跨库内联)和optimize-level 3
(尽可能使用Fixnum procs)可以显著提高速度(根据我的经验,可达到3倍)。 - mnemenaut