17

xcodeビルド中にswiftファイルのコンパイルにかかった時間を出力する方法はありますか?

コマンドラインからコンパイルして、xcode と同じビルドをトリガーしたいのですが、各ファイルのコンパイルにかかる時間を含める必要があります。

ファイルごとのReport Navigator完全なビルド レポートを表示しますが、それらに関連付けられた時間枠はありません。

Swift 1.2 プロジェクトのコンパイル時間を短縮したいと考えています。クリーン後は約 5 ~ 10 分、依存度の高いファイルのソースを変更した後は約 3 ~ 5 分かかります。

4

1 に答える 1

43

追加できます…</p>

-Xfrontend -debug-time-function-bodies

… Swift Compiler - カスタム フラグセクション (ビルド設定)のその他の Swift フラグへ。

ビルド設定

注: これらのフラグの順序を同じにする必要があります。-Xfrontend次のフラグをフロントエンドに渡す必要があることを示しています。順番を逆にするとうまくいきません。

次に、ビルド ログでコンパイル時間を取得できます。

ビルドログ

これは、コンパイル時間を最適化したい場合に役立ちます。また、遅いコンパイル時間についてApple Swift 担当者に問題を報告する場合は、この種のビルド ログを添付することをお勧めします。

クレジットはJoe Pamer Errant コンパイラ ハッカーに贈られます。現在は Apple (Swift、Clang) のエンジニアリング マネージャーで、以前は Microsoft (TypeScript、F#、JavaScript、.NET) でした。彼は、Swift コンパイルのプロファイリングに関する Rob Rix の質問への回答としてツイートしました。興味をそそられたので、コンパイラを逆アセンブルし、テキスト セクションで他のフラグをチェックし、他の隠しオプションを見つけました。それらを本番コードで使用しないでください。ただ遊んでください。


プロジェクト全体のビルド時間。ターミナルで次のコマンドを実行します…</p>

defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES

…Xcode を再起動し、クリーン & ビルドして…</p>

ビルド時間


ポッドがある場合はどうなりますか?

podsプロジェクトに対して上記と同じことを行います

于 2015-07-20T16:04:00.703 に答える