2011-02-07 9 views
9

小さなiPhone開発チームで働いていますが、私たちのオフィスでは、ネットワーク上でXCodeを少なくとも4つコピーしています。誰もがそれを稼働させるようにすることを考えている。 XCode分散ビルド機能を使用する場合

は思っ我々は、標準の無線LANスイッチを使用して一緒にネットワークしているので、ネットワーク速度と待ち時間が有線ネットワークほど良好ではない

...、分散の使用に関するいたことに任意のリアルタイムゲインがありますビルド?ネットワークを介して関連するデータを前後に渡す。少なくとも比較的小さなプロジェクトの場合。

+0

ビルドにはどのくらいの時間がかかりますか? – Nick

+0

約15〜20秒で、私は非常に定期的にビルドしています。 –

答えて

4

あなたのプロジェクト、その依存関係、および転送する必要があるデータの量によって異なります。

15-20秒はひどいわけではありません。確かに、全体的にもっと多くの作業が行われています。デュアルコアを使用している場合(その情報が与えられていない場合)は、お互いにではなく、非常に高速のMac Proに誰もが育つことをお勧めします。

までプロジェクト構成:プロジェクトに依存ライブラリがたくさんある場合、プリコンパイル済みヘッダーを無効にすると役立ちます。方程式の多くは、依存関係の平均数と生成するオブジェクトの数です。

を15-20秒で使用すると、多くの開発者が農場に入る前に構築時間を最適化するように書くことができます。数分であれば、8または12コアの分散ビルドに直接ジャンプしたいかもしれません。

1つのビルドごとに静的解析を無効にし、すべての問題を修正して手動で2時間ごとに実行するだけです。

そうしないと、あなたのプロジェクトはおそらく小さなプロジェクト/ライブラリに分けられます。同じ依存関係を常に編集しているとは限りません。

コンパイル、リンクなどは、この時点で時間が費やされていることを前提としています。残りの多くは、cおよびC++プログラムの作成に伴う典型的な問題に該当します。依存関係を最小限に抑え、グラフを含めることができます。実際にはobjcで実現するのはかなり簡単です。インタフェースの多くはobjc型を使用するため、転送を使用することができます。

ライブラリが小さい(たとえば、50個未満のオブジェクトが生成された)場合は、プリコンパイル済みヘッダーを使用しないことで高速化することもできます。もし全てが既にpchに含まれている12個のシステムフレームワークの組み込みに依存しているなら、次のプロジェクトでそれを試してみてください。

もちろん、きれいなリビルド、生成されたpchファイルのビルド、いくつかのインクリメンタルビルドのタイミングを試すことができます。

関連する問題