- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我习惯性地写了很多功能的代码,我发现它更清晰。但是现在我正在用 Fortran 编写一些需要非常高效的代码,我想知道过度使用函数是否会减慢它的速度,或者编译器是否会解决正在发生的事情并进行优化?
我知道在 Java/Python 等中,每个函数都是一个对象,因此创建大量函数需要在内存中创建它们。我也知道在 Haskell 中函数被简化为彼此,所以它没有什么区别。
有人知道 Fortran 的情况吗?使用意图/纯函数/声明较少的局部变量/其他有什么区别吗?
最佳答案
对于基于堆栈的语言(如 Fortran),函数调用会带来性能成本。他们必须添加到堆栈中等等。
因此,如果可能,大多数编译器会尝试积极地内联函数调用。大多数情况下,编译器会做出是否在程序中内联某些函数的正确选择。
这种自动内联过程意味着编写您的函数(根本)没有额外的成本。
这意味着您应该尽可能干净和有条理地编写代码,并且编译器很可能会为您进行这些优化。解决问题的整体策略比担心函数调用的性能更有效更重要。
关于optimization - 过度使用函数调用会影响性能吗?特别是在 Fortran 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3214648/
我正在开发适用于 Wordpress 的 PSD,并面临着根据颜色过度对齐背景图像或相反的问题。 在桌面上一切都很好,但在移动设备上背景图像变小了(我使用了 background-size: 100%
在标准 Modelica 流体流量源中,通常指定流量或压力。例如,以下边界设置(P 表示压力边界,F 表示流量边界)通常会围绕管道组件: P - 管道 - P F - 管道 - P 但是,有时在同一侧
我正处于设计基于 Azure 的应用程序的早期阶段。考虑到我可能预期的需求的变化性,Azure 吸引我的地方之一是它的可扩展性。因此,我试图保持事物松散耦合,以便我可以在需要时添加实例。 我看到的关于
我与 Xcode 4 dot notation code sense problem 正好相反!点符号的代码完成不仅显示属性,还显示我的方法(在每个完成的左侧标记 P 或 M 分别指示它是属性还是方法
我是一名优秀的程序员,十分优秀!