我怎么使用的声明(类型、内联,优化)在方案?
-
11-09-2019 - |
题
我怎么宣布该类型的参数,以便避免类型的检查?
我如何优化的速度要告诉编译器运行的功能尽可能快的像(优化速度(安全0))?
我怎么做一个内联职能在方案?
我如何使用未装箱的代表性数据的对象?
最后是任何这些重要或必要的?我可以依赖我的编译器,使这些优化?
谢谢, kunjaan.
解决方案
- 你不能做任何这些在任何便携式方法。
- 你可以得到一个"排序的"内联使用宏,但它几乎总是尝试做到这一点。谁写入方案(或任何其他语言)汇编者通常是比你更好的决定时,最好是联的功能。
- 你不能让价值观装箱;一些方案编将作为一个优化,而不以任何方式可见(因为它 是 优化--因此,它应该保留语).
- 作为你的最后一个问题,答案是非常主观的。有些人不能在晚上睡觉,不知道到底有多少CPU周期的某些功能的用途。有些人不在乎的现有信任的编译器,以优化的事情合理的。至少在本阶段,你们的学生的语言和不实现,最好是坚持后者集团。
其他提示
如果您愿意提供帮助,编译器,可以考虑降低最高级别的定义在可能的情况。 如果编译器看到,在顶级的功能,它很难为它想怎么说的功能可能被使用或通过程序修改。 如果函数是一个使用它的功能的范围内所定义的,编译器的作业变得更为简单。
有大约为这个在来自Chez方案手册的部分: http://www.scheme.com/csug7/use.html# ./use:h4
显然的Chez是最快Scheme实现有之一。如果需要这种“指导意见”作出良好的优化,我怀疑其他的实现不能没有它要么(或他们只是忽略它一起)。
不隶属于 StackOverflow