如何声明参数类型以避免类型检查?
如何优化速度以告诉编译器尽可能快地运行该功能(优化速度(安全0))?
如何在Scheme中创建内联函数?
如何使用数据对象的未装箱表示?
最后这些是重要的还是必要的?我可以依靠我的编译器来进行这些优化吗?
感谢, kunjaan。
答案 0 :(得分:5)
答案 1 :(得分:2)
如果您想帮助编译器,请考虑尽可能减少顶级定义。 如果编译器在顶层看到一个函数,那么它很难猜测程序如何使用或修改该函数。 如果函数在使用它的函数范围内定义,则编译器的工作变得更加简单。
Chez Scheme手册中有一节内容如下: http://www.scheme.com/csug7/use.html#./use:h4
显然,Chez是最快的Scheme实施之一。如果它需要这种“指导”来做出很好的优化,我怀疑其他实现也离不开它(或者它们只是一起忽略它)。