gpt4 book ai didi

objective-c - 低效的导入如何影响您的项目?

转载 作者:搜寻专家 更新时间:2023-10-30 20:08:44 25 4
gpt4 key购买 nike

AppCode 具有“优化导入”的功能。

它将采用冗余或未使用的导入并删除它们并重新排列它们等...

我明白为什么可以这样做了...如果您有 3 个文件 A、B 和 C...

  1. A 导入 B
  2. C 导入 A 和 B

在这种情况下,您可以删除 C 中 B 的导入。

但是,当这些冗余导入累积起来时,它会对项目产生什么影响?它可以减慢构建速度吗?对产品有影响吗?

最佳答案

在冗余导入的情况下,主要是为了减少代码噪音(即不需要的代码行)。两次导入同一文件不会产生显着的额外成本。 include 确实有一个不小的成本,因为它必须打开和读取文件(即使它使用 #ifdef 保护),但 import 试图避免这种情况。即便如此,那里的成本很小。

导入一个您不使用的文件会产生大量的构建时间成本。在类 C 语言中,导入意味着“读取整个文件及其所有包含的文件并在此处解析它们”。那可能非常昂贵。有一些技巧可以避免它变得那么糟糕(特别是预编译头文件),但它很糟糕。因此,摆脱未使用的导入绝对有利于构建时间。

两者都不应对最终产品产生任何影响。如果是这样,那么 AppCode 将删除它不应该删除的 header 。

新的 @import 语法改变了其中的一些内容,它不需要读取和解析模块的所有头文件。但是您仍然希望避免导入不需要整洁的 header 。

关于objective-c - 低效的导入如何影响您的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31857672/

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