サイトアイコン Embarcadero RAD Studio, Delphi, & C++Builder Blogs

大規模なC++プロジェクトのビルド時間をTwineCompileで高速化

cpptwinecompilespeed

「TwineCompile」は、アップデートサブスクリプションが有効なユーザーを‎対象としたProfessional版を含むすべてのC++Builderのエディションで無償での利用可能なプラグインであり、 GetItパッケージからインストールすることができます。

TwineCompileは、C++Builderのコンパイル時間を大幅に短縮するソリューションで、C++Builder IDEに直接統合され、マルチスレッド、ファイルキャッシュ、自動バックグラウンドコンパイルなどの技術を活用することで、コンパイル/メイク/ビルド時間を劇的に削減します。

それでは、実際のプロジェクトでどの程度の効果があるのか見てみましょう。これをテストするために、C++Builderでビルドする2つの大規模なオープンソースC++ライブラリを入手しました。

それはXercesSDL2です。XercesはXMLパーサーのライブラリで、SDL2は非常によく知られたオープンソースのウィンドウおよび入力ライブラリで、ゲームによく使用されています。 どちらも適切なサイズの大規模なC++コードベースであるため、優れたテストケースになります。

下図は、実際にTwineCompileの使用有無によってビルド時間を比較したグラフです。

上記の結果をご覧いただいて理解できるように、TwineCompileの使用有無によってビルド時間に大きな違いが生じます。なぜ C++プロジェクトのビルド時間にこれほどまでの違いがあるのでしょうか。

以下は、今回のテストで使用したPC環境の詳細です。

TwineCompileによるパフォーマンスの向上は、主に利用可能なコアの数に依存いたします。 クリーンビルドでは、4コアCPUで約4倍、12コアCPUで約12倍のパフォーマンス向上が期待できます。しかし、TwineCompile はキャッシングを実装しており、他のシナリオ(クリーンビルドではない、またはリソースに制約のあるマシンなど)を備えているため、Makeはさらに高速になります。例えば、非常に時間がかかっていたC++プロジェクトのビルドを現在の半分、もしくは4分の1、さらにはプロジェクトのコンパイル速度が50倍になったという報告もあります。そのためアプリケーションのサイズによっては、1日あたり1時間以上節約でき、開発チーム全体の時間を大幅に節約することができます。

TwineCompileは、GetItパッケージマネージャの「IDE Plugins」のカテゴリの中から見つけることができ、以下のユーザーは無償で利用可能です。

TwineCompileを利用すると、これまでビルドが遅かったClangコンパイラ(bcc64、bcc32c)に比べて、顕著にビルド速度が向上します。もし興味をもちましたら、是非一度ダウンロードし、実際にご自身のプロジェクトをビルドして、その速度を体感してみてください!!

関連情報

新たにアップデートされたTwineCompileでC++のコンパイル速度をスピードアップ – GetItで入手可能に!

モバイルバージョンを終了