コンパイルビルド時間

最近では、ソフトウェアアプリケーションを構成するソースコードファイルの数が数千個に上ることも多くあります。これらのファイルをコンパイルするには、莫大な時間がかかります。小さなコードサイズとパフォーマンスの改善を目的とする最適化のために ARM Compilation Tools で使用されるさまざまなテクニックも、長いビルド時間の要因となります。

コンパイラを起動すると、以下の処理が行われます。

  1. コンパイラがロードされ、実行が開始されます。

  2. コンパイラがライセンスの取得を試みます。

  3. コンパイラがコードをコンパイルします。

コンパイラがロードされて実行を開始するまでには、一定の時間がかかります。

ライセンスの取得に要する時間は、ライセンスが使用可能であれば通常は変化しません。ただし、フローティングライセンスを使用する場合、ライセンスの取得に要する時間は、ネットワークトラフィックと、ライセンスがサーバ上で使用可能かどうかに依存します。ライセンスがすぐに利用可能でない場合、コンパイラは、通常、エラーで終了する代わりに、ライセンスが利用可能になるまで待機します。

フローティングライセンスを取得するプロセスは、ノードロックライセンスを取得するプロセスよりも複雑です。ノードロックライセンスの場合、コンパイラは、ファイルを解析して、有効なライセンスがあるかどうかをチェックするだけです。フローティングライセンスの場合、コンパイラは、ライセンスの場所を確認し、ネットワーク上で TCP/IP スタックを介してサーバにメッセージを送信し、応答を待つ必要があります。コンパイラは、応答を受け取った後、ライセンスが許可されたかどうかを確認する必要があります。コンパイルが完了した後は、ライセンスをサーバに返却する必要があります。

フローティングライセンスの場合、柔軟性が提供されますが、速度が犠牲になります。速度を重要視する場合は、ビルドコンピュータ用にノードロックライセンスの取得を検討して下さい。場合により、必要に応じてコンピュータ間で移動できる USB ネットワークカードにロックされたノードロックライセンスも利用できます。

環境変数 TCP_NODELAY1 に設定すると、FLEXlm および FLEXnet ライセンスサーバシステムでライセンス要求を処理するパフォーマンスが向上します。ただし、ネットワークトラフィックが増加する原因となるので、この設定を行う場合は注意が必要です。

コードのコンパイルに要する時間は、コンパイルするファイルのサイズと複雑さによって変わります。少数のサイズが大きいファイルのコンパイルは、多数のサイズが小さいファイルのコンパイルよりも短時間で完了する可能性があります。これは、1 つのファイルのコンパイルに長時間かかったとしても、コンパイラのロードとアンロード、およびライセンスの取得に要する短い時間の繰り返しで相殺されることがあるためです。

Show/hide関連項目

Copyright © 2010 ARM. All rights reserved.ARM DUI 0472BJ
Non-ConfidentialID011811