最近PostSharpをコード ベースに導入したところ、ASP.NET MVC プロジェクトのコンパイル時間が 2 倍から 4 倍になりました。ソリューションには、約 3 つの MVC プロジェクトと約 8 つのクラス ライブラリ プロジェクトがあります。
PostSharpは MSIL コードを変更しているため、明らかにオーバーヘッドが発生します。しかし、2 倍から 4 倍のオーバーヘッドはかなりのオーバーヘッドです。
これは PostSharp では一般的ですか?
最近PostSharpをコード ベースに導入したところ、ASP.NET MVC プロジェクトのコンパイル時間が 2 倍から 4 倍になりました。ソリューションには、約 3 つの MVC プロジェクトと約 8 つのクラス ライブラリ プロジェクトがあります。
PostSharpは MSIL コードを変更しているため、明らかにオーバーヘッドが発生します。しかし、2 倍から 4 倍のオーバーヘッドはかなりのオーバーヘッドです。
これは PostSharp では一般的ですか?
PostSharp がインジェクションを実行しないことが確実なアセンブリの場合、プロジェクトの [ビルド] タブの [条件付きコンパイル シンボル] にフラグSkipPostSharpを追加できます。
お役に立てれば。
2 倍の一般的なオーバーヘッドは正常です。PostSharp 1.5 を高速化する最も重要な方法は、ngenned イメージを使用することです (セットアップ プログラムが自動的に実行します)。PostSharp 2.0 では、ngenned 画像はそれほど重要ではないと見なされています。
PostSharp 2.0 で実際に 4 倍のオーバーヘッドがある場合は、そのケースのパフォーマンス分析を行いたいと思います。