17

有没有办法输出在 xcode 构建期间编译 swift 文件所花费的时间?

我想从命令行编译以触发与 xcode 相同的构建,但要包括编译每个文件所花费的时间。

显示每个文件的Report Navigator完整构建报告,但没有与之关联的时间范围。

我想减少 Swift 1.2 项目的编译时间,因为清理后大约需要 5 - 10 分钟,或者在严重依赖文件中更改源后需要 3 -5 分钟。

4

1 回答 1

43

您可以添加...</p>

-Xfrontend -debug-time-function-bodies

…到Swift 编译器中的其他 Swift 标志 - 自定义标志部分(构建设置)。

构建设置

注意:您必须保持这些标志的相同顺序。-Xfrontend表示下一个标志应该传递给前端。如果您颠倒顺序,它将不起作用。

然后您可以在构建日志中获取编译时间:

构建日志

当您确实想要优化编译时间时,这很有用,并且在向Apple Swift人员报告编译时间慢的问题时,最好附上这种构建日志。

归功于 Joe Pamer Errant编译器黑客。目前在 Apple(Swift、Clang)担任工程经理,之前在 Microsoft(TypeScript、F#、JavaScript、.NET)担任工程经理。他在推特上回应了 Rob Rix 关于分析 Swift 编译的问题。这让我很好奇,所以,我反汇编了编译器,检查了文本部分是否有更多标志,并发现了其他隐藏选项。不要在生产代码中使用它们,只需使用它们即可。


整个项目的构建时间。在终端中运行以下命令...</p>

defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES

…重新启动 Xcode,清理和构建,然后…</p>

构建时间


如果我有豆荚怎么办?

对您的pods项目执行上述操作

于 2015-07-20T16:04:00.703 回答