TOP
>
システム開発
> はじめに
パフォーマンス徹底比較!! Seasar2 VS Spring
第4回:AOP機能のパフォーマンス比較
著者:
株式会社電通国際情報サービス 比嘉 康雄
株式会社アークシステム 本間 宏崇
日本ヒューレット・パッカード株式会社
2006/7/6
1
2
3
4
次のページ
はじめに
今回はAOP処理のパフォーマンスを見ていきましょう。AOPはDIコンテナと一見関係なさそうですが、Seasar2とSpringのどちらのコンテナもAOP機能を提供しています。また実案件でAOP機能を利用しないことはあまり考えられません。
AOPもDIと同様に内部処理が見えづらい処理です。そこでまずAOPについて簡単に解説します。
AOPについて
AOPとはバイトコードを操作して、もともとの処理をカスタマイズするものです。このバイトコード操作を「weaving」といいます。
図1:AOPのweaving処理
図1に示すようにDIコンテナがもともとの処理であるメソッドAをweavingして、メソッドBを加えます。そして利用側がメソッドAを呼び出すと、メソッドAとメソッドBが実行されるというメカニズムです。
このことからAOPを使用することでパフォーマンスに影響しそうな点は、以下の2点と考えられます。
weavingする時間
weavingされたメソッドを実行する時間
表1:AOPの使用でパフォーマンスに影響を与える点
それではまずweavingされたメソッドを実行する時間を測定します。
1
2
3
4
次のページ
著者プロフィール
株式会社電通国際情報サービス 比嘉 康雄
1992年、電通国際情報サービス入社。1996年にOracleに触れたことでソフトウェアの魅力に開眼。その後、日本産オープンソース「Seasar」の開発を中心になって行い、2004年5月に「Seasar2」をリリース。
http://www.isid.co.jp/
http://d.hatena.ne.jp/higayasuo/
著者プロフィール
株式会社アークシステム 本間 宏崇
プログラマ。2004年より(株)アークシステムに所属。最近の興味はペアプログラミング・テスト駆動開発・プロジェクト自動化など。現在はWebアプリケーションフレームワーク「Teeda
(
http://teeda.seasar.org/ja/
)」の開発に携わっている。
著者プロフィール
日本ヒューレット・パッカード株式会社
今回、Seasar2とSpringのパフォーマンスの検証を行う際の環境を提供しています。
INDEX
第4回:AOP機能のパフォーマンス比較
はじめに
AOPメソッド実行の処理
AOPのweaving処理
AOP自動登録