Created
June 20, 2018 12:09
-
-
Save niwatako/1e50199af5f9687f7901a62ea1ed0d89 to your computer and use it in GitHub Desktop.
『What’s new in Xcode10 Build System』 #CodePiece #ca_swift
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CA.swift #6 WWDC18 報告会 - connpass | |
https://cyberagent.connpass.com/event/88328/ | |
## 『What’s new in Xcode10 Build System』 | |
石川 諒 @rinov0321 | |
今回はXcode改善が大きかったと思う。大きなものは3つ | |
- Parallelizing your build process | |
- Measuring your build time | |
- New compilation mode | |
### Parallelizing your build process | |
従来、ターゲットの依存関係の順序をXcodeが解析して、順番にビルドが行われていた。 | |
Xcode10から、ターゲット間で依存がある部分のビルドが終わったら、次のターゲットのビルドが始まる。 | |
8割ダウンロードしたら次をダウンロード始めるみたいな。 | |
Build Optionの | |
- Parallelized Build | |
- Find Implicit Dependencies | |
にチェックを入れると使えます。 | |
### Measuring your build time | |
Build with timing Summaryというビルドができる。あるいは `xcodebuild -showBuildTimingSummary` | |
RunScriptフェーズにどれくらい懸かったかもわかるぞ | |
### New compilation mode | |
差分ビルドのようにして居た方も多いと思いますが | |
Whole Moduleは全体最適でGenericsがIntとStringがなければ特殊化された具体型を生成してしまうものだが、非推奨になって、DebugではIncrementalモードを選ぶようにということになった。 | |
差分ビルドの注意点 | |
ファイルベースでのインクリメンタルビルドになる。PointというStructがあって、イニシャライザを追加すると、 | |
イニシャライザを追加したので2つのファイルでビルドが走る。 | |
initのファンクションボディを変更したら、1つのファイルのビルドにとどまる。 | |
struct Point を定義しているファイルに struct PathSegment を足すと、 Pointを使っている他のファイルにもビルドが必要になる。 | |
### まとめ | |
- ビルドプロセスの並列化 | |
- 時間計測が公式サポート | |
- インクリメンタルモードが追加された |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment