実行速度を考慮した実装法による細粒度でのコード再利用のためのメソッド内メソッド
スポンサーリンク
概要
- 論文の詳細を見る
プログラミングにおいて,ソースコードの再利用は有益である.しかし,Javaのようなオブジェクト指向言語の多くではブロック単位でのコードの再利用をサポートしていない.より細かい粒度でコードを再利用するために,あるブロックを別のメソッドとして定義すると,変数受け渡し,副作用の再現のためにコードが煩雑化,実行速度の低下が起こりうる.このような問題を解決するため,細粒度でのコード再利用のためのメソッド内メソッド(内部メソッド)をJava言語に導入した.メソッド定義内に宣言可能なこの内部メソッドは,外側のスコープで定義されたローカル変数を参照可能で,かつサブクラスから上書きが可能なメソッドである.本研究では,低オーバヘッドで内部メソッドを実現するために,インライン展開やオブジェクト渡しの最適化を行う拡張Javaコンパイラを実装した.内部メソッドを用いたマイクロベンチマークにより,サブクラスでの内部メソッドの上書きがない場合,およびスーパクラスのローカル変数に対する副作用のない上書きである場合について,オーバヘッドが無視できる程度に抑えられることを確認した.
- 2013-08-29
著者
-
千葉 滋
東京大学大学院医学系研究科生体防御腫瘍内科学(血液・腫瘍病態学部門)
-
千葉 滋
東京大学大学院情報理工学系研究科創造情報学専攻
-
佐藤 芳樹
東京大学大学院情報理工学系研究科創造情報学専攻
-
平松 俊樹
東京工業大学大学院情報理工学研究科数理・計算科学専攻
関連論文
- カスタマイズ機能を持つ分散デバッガーにおけるデバッグ支援機能の設計と実現
- 緩い一貫性に基づいたグループウェアのための共有オブジェクト空間の実装
- 二次サーバを活用した広域分散ファイルシステムAria
- 異なるネットワーク間を移動する計算機のための分散ファイルシステム
- 幹細胞移植の臨床効果
- OODB上のデータを扱う永続化可能なGUIのためのツールキット
- 実行速度を考慮した実装法による細粒度でのコード再利用のためのメソッド内メソッド
- 強力でコンポーザブルな構文拡張機能をもつプログラミング言語
- 破壊的クラス拡張で生じるメソッド衝突を回避可能なモジュール機構Method Shellsとその実装方法