gpt4 book ai didi

optimization - `USE` 对性能的影响

转载 作者:行者123 更新时间:2023-12-04 00:08:36 25 4
gpt4 key购买 nike

我目前正在编写一个大型 fortran 90 代码。大多数模块都有大量的子程序(>15)。模块 USE 其他模块在其规范部分,而它们的子例程 USE 其他模块在其之上。这是它的样子:

MODULE OneModule
USE GlobalConstant
USE GlobalVariable

CONTAINS
SUBROUTINE Subroutine1()
[...]
END SUBROUTINE Subroutine1

SUBROUTINE Subroutine2()
USE Mesh
[...]
END SUBROUTINE Subroutine2

[Other Subroutines]
END MODULE OneModule

在每个模块中都看到了这一点,我想知道这样做是为了清晰还是优化。如果模块OneModule有大量子程序,如果我们在规范部分USE模块MESH如果只有少数,会不会影响性能?这些子程序中的哪些需要它?

最佳答案

考虑到典型的编译器实现,如果 USE 的定位对执行时间有任何影响,我会感到震惊(并向编译器供应商写错误报告)。它可能会对编译时间产生无关紧要的影响。

在内部或外部范围内定位更多的是首选编程风格与标识符可访问性的程序要求相交的问题。

(有一个异常(exception),但在这里不相关。F2003 引入了一组用于 IEEE 浮点支持的内在(编译器提供)模块。其中一些模块的存在可以改变编译器生成的代码对于 USE 范围内的任何内容。)

关于optimization - `USE` 对性能的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21255790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com