"); //-->
BK698CPA15B0 例程的存在对程序的功能
BK698CPA15B0 例程的存在对程序的功能
程序中(被调用的)子例程的存在对程序的功能没有任何额外的贡献,不管其范式如何,但可能对程序的结构化和通用性有很大的贡献,使其更容易编写、修改和扩展。[17]不同范例使用子例程的程度(及其随之而来的内存需求)会影响整个算法的整体性能,尽管盖伊·斯蒂尔在1977年的一篇论文中指出,一种设计良好的编程语言实现能程序抽象的开销非常低(但遗憾的是,在大多数实现中,他们很少在实践中实现这一点——“在这方面相当欠考虑或粗心”)。在同一篇论文中,斯蒂尔还提出了一个经过深思熟虑的理由基于自动机的编程(使用过程调用尾部递归)并总结说“我们应该对过程调用有一个健康的尊重”(因为它们是强大的),但建议“谨慎使用它们”[17]
子程序调用的频率:
对于过程式编程粒度代码的长度很大程度上取决于离散过程的数量或模块。
对于函数式编程,频繁调用图书馆子程序是常见的,[需要引用]但是可能经常被优化编译器内联
对于面向对象的编程,调用的方法调用的数量也部分由数据结构的粒度决定,因此可能包括许多只读对封装的低级对象的访问,因此没有其他更直接的方法可以访问。因为增加粒度是获得更大性能的先决条件代码重用,趋势是细粒度的数据结构,以及相应的离散对象(及其方法)数量的增加,因此,子程序调用。的创造上帝反对是主动劝阻。构造器因为它们也是子程序调用(除非它们是内联的),所以也添加到计数中。粒度过大导致的性能问题可能不会变得明显,直到可量测性成为一个问题。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。