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

jar*_*ryd 14 xcode swift

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

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

Report Navigator每个文件显示完整构建报告,但没有与它们相关的时间表.

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

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

zrz*_*zka 38

你可以加…

-Xfrontend -debug-time-function-bodies
Run Code Online (Sandbox Code Playgroud)

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

构建设置

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

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

构建日志

当你想要优化编译时间时这很有用,并且在向Apple Swift人员报告编译时间慢的问题时附加这种构建日志是很好的.

幸得乔Pamer 对不按编译器的黑客.目前是Apple(Swift,Clang)的工程经理,曾任Microsoft(TypeScript,F#,JavaScript,.NET).他在推文中回复了Rob Rix关于分析Swift编译的问题.它让我好奇,所以,我反汇编编译器,检查文​​本部分以获取更多标志并找到其他隐藏选项.不要在生产代码中使用它们,只需使用它们即可.


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

defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES
Run Code Online (Sandbox Code Playgroud)

...重启Xcode,清理和构建......

建立时间