gpt4 book ai didi

Swift 类型检查需要很长时间

转载 作者:搜寻专家 更新时间:2023-10-31 23:05:55 25 4
gpt4 key购买 nike

我已将标志 -Xfrontend -warn-long-expression-type-checking=50 添加到我的 Swift 项目中,以查看什么地方花费的时间过长。我有以下表达式:

let s: String = "1234"
let t: Int? = Int(s)

Int(s) 上,我收到警告 Expression take 52ms to type-check (limit: 50ms)。我只是想知道为什么这需要超过 50 毫秒才能弄清楚,因为我指定了所有类型。

最佳答案

如果我们尝试运行这个初始化器:

让 t:Int? = Int(s, radix: 10)

我们可以看到类型检查要快得多。

查看代码完成中的 Int 初始化器,我可以看到有一对接受 String 的初始化器,所以我的猜测是编译器只是试图解析一个基于参数并返回 Int? 并且需要更长的时间

当我们提供基数时,我们所做的是限制可能选择的数量,这就是代码类型检查速度更快的原因。当然,这纯粹是我的猜测!

关于Swift 类型检查需要很长时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57302881/

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