输出swift文件的编译持续时间

时间:2015-07-20 15:13:18

标签: xcode swift

有没有办法在xcode构建期间将输出编译swift文件所需的时间变成输出?

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

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

通过查看和加载状态等编译时间不清楚它是更具人性化的风格。

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

1 个答案:

答案 0 :(得分:36)

您可以添加...

-Xfrontend -debug-time-function-bodies

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

Build settings

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

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

Build log

当您希望优化编译时间时,这很有用,并且在向Apple Swift guys报告有关编译时间慢的问题时附加此类构建日志也很有用。

归功于Joe Pamer 错误的编译器黑客。目前是Apple(Swift,Clang)的工程经理,以前在微软(TypeScript,F#,JavaScript,.NET)。他在推特上发布了对Rob Rix关于分析Swift编译的问题的回复。这让我很好奇,所以,我反汇编编译器,检查文​​本部分以获取更多标志并找到other hidden options。不要在生产代码中使用它们,只需使用它们。

整个项目的建设时间。在终端中运行以下命令...

defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES

...重启Xcode,清洁&建立和...

Build time