VAが速い理由:C++で書かれているから
ReSharperはC#でネイティブに記述されています。C++ソースコードを解析するために変換レイヤーを使用するため、処理オーバーヘッドが発生し、C++開発者が日常的に扱うコード(マクロ、テンプレート、部分ビルド、コンパイルエラーが発生するレガシーコードベースなど)との摩擦が生じます。
Visual AssistはC++でネイティブに記述されています。変換ステップは不要です。パーサーはソースコードを記述された言語で処理するため、インデックス作成が高速化され、マクロを多用するコードでも精度が向上し、IDEの起動時間とRAM使用量への影響も最小限に抑えられます。また、VAはコードがうまく動作しない場合でも機能します。部分ビルド、破損したコード、編集途中の状態などによって、ReSharperの解析エンジンのように機能が無効になることはありません。
この差は規模が大きくなるにつれて顕著になります。Unreal EngineのLyraサンプルプロジェクトでテストしたところ、VAはすべてのTOptional参照を9分以内に検出しました。一方、ReSharperは同じ参照の3分の1を30分かけて検出しました。
VAの並列パーサーは、分析実行中もIDEの応答性を維持します。ReSharperユーザーがインデックス処理中に報告するようなフリーズやハングアップは発生しません。
Visual Assistは、当社が開発している唯一の製品です。ReSharperは、JetBrainsの大規模なエコシステムの一部です。この集中力は、VAがC++の課題に迅速に対応できること、Visual Studioとの緊密な統合、そしてC++開発に実際に役立つ機能セットの多さに表れています。