1

AspecJ は元のコードにより多くのロジックを追加するため、さまざまなシナリオに AspectJ を適用することのオーバーヘッドを知りたいですか?

これに関するベンチマークはありますか?

どうもありがとうございます!

4

1 に答える 1

1

質問に答える一般的な方法はありません。それは、ポイントカットの範囲がどれだけ広いか狭いか、およびアドバイスで実行されるコードがどれだけ高価かによって異なります。通常、動的に決定されるポイントカットと、高価で遅いアドバイス コードをターゲットのジョインポイントに織り込むという非常に残念な組み合わせを使用しない限り、オーバーヘッドは小さくなります。

多くのメソッドに特定のコード スニペットを追加するとします。オーバーヘッドは、スニペット、スニペットを追加する場所の数、およびコードを追加したすべてのメソッドの呼び出し数によって異なります。これがアスペクト ウィーバーの機能です。つまり、コンパイルされたバイトコードをクラスに織り込みます。唯一の違いは、自動的に行われることです。スニペットをコード ベース全体に手動で分散させる必要はありません。

于 2013-07-24T11:41:56.307 に答える