swift 个文件的输出编译持续时间
Output compile durations for swift files
有没有办法在 xcode 构建期间输出编译 swift 文件所花费的时间?
我想从命令行编译以触发相同的构建 xcode 但要包括编译每个文件所花费的时间。
Report Navigator
显示每个文件的完整构建报告,但没有与之关联的时间范围。
我想缩短 Swift 1.2 项目的编译时间,因为它在清理后大约需要 5 - 10 分钟,或者在高度依赖的文件中更改源代码后需要 3 -5 分钟。
您可以添加……
-Xfrontend -debug-time-function-bodies
…到 Swift 编译器中的其他 Swift 标志 - 自定义标志 部分(构建设置)。
注意:您必须保持这些标志的相同顺序。 -Xfrontend
表示下一个标志应该传递给前端。如果您颠倒顺序,它将不起作用。
然后您可以在构建日志中获取编译时间:
这在您确实想要优化编译时间时很有用,而且在向 Apple Swift guys 报告有关编译时间缓慢的问题时附上此类构建日志也很好。
归功于 Joe Pamer Errant compiler hacker. Currently an engineering manager at Apple (Swift, Clang), formerly at Microsoft (TypeScript, F#, JavaScript, .NET). He tweeted it as a response to Rob Rix question about profiling Swift compilation. It made me curious, so, I disassembled compiler, checked text section for more flags and found other hidden options。不要在生产代码中使用它们,只是使用它们。
整个项目的构建时间。 运行 在终端中执行以下命令…
defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES
…重新启动 Xcode,清理并构建…
如果我有 pods 怎么办?
对您的 pods 项目执行与上述相同的操作
有没有办法在 xcode 构建期间输出编译 swift 文件所花费的时间?
我想从命令行编译以触发相同的构建 xcode 但要包括编译每个文件所花费的时间。
Report Navigator
显示每个文件的完整构建报告,但没有与之关联的时间范围。
我想缩短 Swift 1.2 项目的编译时间,因为它在清理后大约需要 5 - 10 分钟,或者在高度依赖的文件中更改源代码后需要 3 -5 分钟。
您可以添加……
-Xfrontend -debug-time-function-bodies
…到 Swift 编译器中的其他 Swift 标志 - 自定义标志 部分(构建设置)。
注意:您必须保持这些标志的相同顺序。 -Xfrontend
表示下一个标志应该传递给前端。如果您颠倒顺序,它将不起作用。
然后您可以在构建日志中获取编译时间:
这在您确实想要优化编译时间时很有用,而且在向 Apple Swift guys 报告有关编译时间缓慢的问题时附上此类构建日志也很好。
归功于 Joe Pamer Errant compiler hacker. Currently an engineering manager at Apple (Swift, Clang), formerly at Microsoft (TypeScript, F#, JavaScript, .NET). He tweeted it as a response to Rob Rix question about profiling Swift compilation. It made me curious, so, I disassembled compiler, checked text section for more flags and found other hidden options。不要在生产代码中使用它们,只是使用它们。
整个项目的构建时间。 运行 在终端中执行以下命令…
defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES
…重新启动 Xcode,清理并构建…
如果我有 pods 怎么办?
对您的 pods 项目执行与上述相同的操作