Java標準ライブラリを対象とした配列参照の最適化

Bibliographic Information

Other Title
  • Java ヒョウジュン ライブラリ オ タイショウ ト シタ ハイレツ サンショウ ノ サイテキ カ
  • Optimizing Array References in the Java Standard Library

Search this article

Abstract

本論文では,Javaにおける配列参照の高速化を目的として,標準ライブラリ中の冗長なnull検査および配列添字検査を除去する技法を提案する.提案技法では,データフロー解析を使う従来の最適化では除去が困難な検査を除去するために,標準ライブラリ中の冗長な検査の所在をあらかじめ動的コンパイラに教えておく.検査の中にはネイティブメソッドやリフレクションの動的な振舞い次第で冗長か否かが変化するものもあるが,そうした検査も除去可能にするために,実行時にリフレクションやネイティブメソッドの振舞いを監視し,検査が冗長か否か判断可能にする.SPECjvm98およびSPECjbb2005を使った評価から,本論文で提案した最適化によって実行速度を平均で0.87%向上させることができることが分かった.

This paper presents an optimization technique for array references eliminating redundant null tests and array index tests in the standard library. Our optimization technique eliminates redundant tests using manually collected information that tells where the redundant tests are, and thus can eliminate redundant tests that traditional optimization techniques using data flow analysis can hardly do. Some tests in the standard library are redundant if some related fields are not overwritten by reflections or native methods. To eliminate such tests, our optimization dynamically watches the behavior of the reflection or native methods, and eliminates the tests if possible. Estimation using the SPECjvm98 and the SPECjbb2005 benchmark suites showed that our optimization techniques improve performance by 0.87%.

Journal

Keywords

Details 詳細情報について

Report a problem

Back to top