TOPシステム開発> はじめに
パフォーマンス徹底比較!! Seasar2 VS Spring
パフォーマンス徹底比較!! 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」といいます。

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自動登録