Xamarin.iOS 6.4 でのビルド時間の改善
Xamarin.iOS 6.4 ではビルド時間が大幅に改善され、更新されたコードのビットのみをデバイスに送信するオプションが追加されました。自分で見て:

(ソース: xamarin.com )
詳細を読んで、Rolf の投稿でインクリメンタル ビルドを有効にする方法を学んでください。
Evolve 2013 ビデオ
このコンテンツの更新および拡張版は、私がEvolve 2013で行った高度な iOS ビルド メカニクストークのビデオで見ることができます。
元の回答
ビルド速度に影響を与える要因はいくつかあります。ただし、それらのほとんどは、あなたが言及したマネージド リンカーの使用を含め、デバイス ビルドにより大きな影響を与えます。
マネージド リンカー
デバイスの場合、Link allが最も速く、次にLink SDKと (最後に) Don't linkが続きます。その理由は、リンカーは、AOT コンパイラーがビルドできるよりも速くコードを削除できるためです (純利益)。また、.app が小さいほど、デバイスへのアップロードが速くなります。
シミュレーターの場合、AOT がない (JIT が使用される) ため、リンクしない方が常に高速です。テストする場合を除き、他のリンク オプションは使用しないでください (デバイス ビルドを実行するよりも高速です)。
デバイスのトリック
単一のアーキテクチャ (ARMv7 など) の構築は、FAT バイナリ (ARMv7 + ARMV7s など) よりも高速です。アプリケーションが小さいということは、デバイスへのアップロード時間も短縮されるということです。
デフォルトのAOT コンパイラ (mono) は、LLVM コンパイラを使用するよりもはるかに高速です。ただし、後者はより良いコードを生成し、ARMv7s、Thumb2 もサポートします。
.app に大きなアセットがバンドルされている場合、アプリでそれらを (署名する必要があるため毎回) デプロイ/アップロードするのに時間がかかります。これを回避する方法についてのブログ投稿を書きました。大きなアセットがある場合は、多くの時間を節約できます。
オブジェクト ファイルのキャッシュは、MonoTouch 5.4 で実装されました。一部のビルドははるかに高速になりますが、(キャッシュをパージする必要がある場合) 高速にならないビルドもあります (ただし、低速になることはありません ;-)。これが頻繁に発生する理由の詳細については、こちらを参照してください)。
デバッグ ビルドは、シンボルや実行に時間がかかり、最終的dsymutil
にサイズが大きくなるため、デバイスへのアップロードに余分な時間がかかります。
リリース ビルドは、既定で (オフにすることができます)、アセンブリの IL ストリップを実行します。これには少し時間がかかります - デバイスに (小さい .app) を展開するときに戻ってくる可能性があります。
シミュレーターのトリック
いつでも迷わずついに!--time --time
つまり、プロジェクトに追加してextra mtouch arguments
、各操作の後にタイムスタンプを表示できるということです:-)