如何声明参数的类型以规避类型检查?
如何优化速度以告诉编译器尽可能快地运行函数,例如(优化速度(安全 0))?
如何在 Scheme 中创建内联函数?
如何使用数据对象的未装箱表示?
最后,这些是否重要或必要?我可以依靠我的编译器来进行这些优化吗?
谢谢,昆贾恩。
如何声明参数的类型以规避类型检查?
如何优化速度以告诉编译器尽可能快地运行函数,例如(优化速度(安全 0))?
如何在 Scheme 中创建内联函数?
如何使用数据对象的未装箱表示?
最后,这些是否重要或必要?我可以依靠我的编译器来进行这些优化吗?
谢谢,昆贾恩。
如果您想帮助编译器,请考虑尽可能减少顶级定义。如果编译器在顶层看到一个函数,它就很难猜测该函数可能如何被程序使用或修改。如果在使用它的函数范围内定义函数,编译器的工作就会变得简单得多。
Chez Scheme 手册中有一个关于此的部分: http ://www.scheme.com/csug7/use.html#./use:h4
显然 Chez 是目前最快的 Scheme 实现之一。如果它需要这种“指导”来进行良好的优化,我怀疑其他实现也不能没有它(或者他们只是一起忽略它)。