Xcodeはデフォルトではビルドを並列に行ってくれません。
今日はビルドの並列設定をしてビルド時間がどのくらい短くなるか調べてみます。
ビルド時間を表示する
Xcode上にビルド時間を表示するようにします。
下コマンドを打ってからXcodeを再起動することで、真ん中上部にビルド時間が表示されるようになります。
defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES
Macのコア数を確認する
次に下コマンドで自分のMacのコア数を確認しました。
system_profiler SPHardwareDataType
自分のMacはコア数は2のようです。
普通にクリーン & ビルド
普通のビルドをしてみました。
時間は327秒ほどでした。
コンパイルを並列にする
まずはコンパイルの同時実行数を2にします。
defaults write com.apple.dt.Xcode IDEBuildOperationMaxNumberOfConcurrentCompileTasks 2
その結果、コンパイル時間は200秒以下にまで縮みました。
タスク数を4にする
次はタスクを更に増やして4にしてみます。
コンパイル時間は193秒、タスク数2の時とほとんど変わりませんでした。
PCのコア数以上にするのは効果が薄そうです。
defaults write com.apple.dt.Xcode IDEBuildOperationMaxNumberOfConcurrentCompileTasks 4
タスク数を16にする
最後にタスク数16も試してみました。
結果は250秒ほどです、逆に遅くなりました。
タスク数が増える事でCPUのスイッチに時間がかかったのではないかと思われます。
参考URL
Xcodeで並列ビルドを行う方法 - Qiita
Xcode - Swiftのメソッド毎のコンパイル時間を計測してビルド時間を短縮する - Qiita