私はApple
とその機能が好きですが、Swift
...OH GOD!
構成:
コンパイル時間:3分.
「新しくて素晴らしいSwift、夢」のように見えますが、この構成では不十分であり、_Google Chrome
_ --InfiniteLoop(find free memory - eat)
のように機能します。
HEADERMAP_USES_VFS
_をYES
に設定します(変更なし)Build Settings / Architectures / Build Active Architecture Only
_をYES
に設定します(多少の改善)_defaults write com.Apple.Xcode PBXNumberOfParallelBuildSubtasks 4
_(8)を設定します(場合によってはさらに悪化します)
最適化レベルを_-Onone
_に設定します(大きな改善はありません)
DWARF with dSYM File
_の代わりにDWARF
Find implicit dependencies
_を無効にします(大きな改善はありません)新しいプロジェクトを作成し、すべてのファイルを新しいプロジェクトに移動しました(時間がかかりすぎて時間の改善が少ししかありません)
compilatorをデフォルトから利用可能な他のコンパイラに変更します(さらに悪いことに)
高速コンパイルされたSwiftコード(詳細は以下)の書き方に関する厳格なルール
私は人々が同じ問題を説明しているいくつかの投稿を見つけました: ここ と ここ
私は誰もが新しい_Xcode 8.2 beta 2
_を待っていると思いますここで:
小さな変更のみが発生した場合、Xcodeはターゲット全体を再構築しません。 (28892475)
しかし、これは部分的にしか当てはまりません。コンパイル時間はまだ長く、6〜12分から3〜8分に移動しました。これの詳細な説明は見つけることができます ここ および ここ
また、コードの記述中は、次のすべてのルールに従いました。
言い換えれば、「新しいクールな機能」は使用しないでください。何年も待つことになります。
もう1つの試み-説明されている回避策です ここ :
「製品」->「スキーム」->「スキームの編集」に移動します。左側の列で[ビルド]を選択し、[暗黙の依存関係を検索]をオフにします。ただし、プロジェクトを初めてビルドするときは、このフラグをオンのままにしておく必要があります。
しかし、この回避策は私が探しているものではなく、これは一時的な解決策としても使用できます。
Swift
は、書くのが難しいからではなく、(少なくとも一部のマシンでは)使いにくいために苦痛です。
比較のために:私は_Objective-C
_に2kクラスと11ポッドのプロジェクトを持っています-クリーンコンパイル時間は約30秒です。
また、Swiftパフォーマンス:
私の質問は:
この問題は私にとっても非常にイライラする。私たちはあなたが言及したいくつかの解決策を試しましたが、どれもうまくいきませんでした。
コンパイル時間が大幅に改善されたのは、Whole Module Optimization
に-Onone
を追加しながらOther Swift Flags
をオンにすることです。
これを参照してください--- スピードアップSwiftコンパイル
Swift 3
とXcode 8.3
を使用しています。
Cocoapodsの代わりにCarthageを使用してサードパーティのライブラリを含めることで、コンパイル時間を大幅に改善しました。
コードの最適化がオンになっている可能性がありますが、これはリリースバージョンをビルドするために必須ですが、開発ビルドの場合は特に重要ではありません。
コード最適化が行うことは、まさにそれが言うことです。それは、生成される最終バイナリをより小さくするためにコードを最適化します。変数/メソッドの名前を1文字に変更するなどの処理を行います。前述のように、アプリストアに送信するときに明らかにこれが必要ですが、開発中にアプリが大きくてもかまわない場合があります。
プロジェクト設定>ビルド設定に移動し、「optim」を検索して、開発ビルドのコード最適化をオフにできます。Swiftコンパイラ-コード生成は、デバッグビルドの最適化レベルをなし[-Onone]に設定します。 。
これにより、ビルド時間が大幅に改善されます。
デバッグ制限のないモジュール全体の最適化
Swift_WHOLE_MODULE_OPTIMIZATIONをuser-defined設定として値[〜#〜] yes [〜#〜]そしてコンパイル時間は大幅に改善されるはずです。
この修正は、Zalandoの開発者によって導入されました。彼らに叫びなさい。 https://jobs.zalando.com/tech/blog/improving-Swift-compilation-times-from-12-to-2-minutes/?gh_src=4n3gxh1