組み込みJava起動高速化の検討と評価
2
0
0
全文
(2) は適さないため、方法 2 を採用し、試作を行っ て起動時間の性能を評価した。評価用のアプリ ケーションとしてビジネス系のメールアプリケ ーション(アプリ 1)とゲームアプリケーション (アプリ 2)とエンタテーメント系のメールアプリ ケーション(アプリ 3)を用いて測定を行い、事前 コンパイルをしない場合についても評価した。 図 3 にその結果を示す。 JIT 処理を行う場合、アプリ 1 は 41%、アプリ 2 は 40%、アプリ 3 は 48%の高速化が達成された。 また、JIT 処理を行わない場合は、アプリ 1 で 67%、アプリ 2 で 75%、アプリ 3 で 60%の高速化 が達成された。 5000 4000 時間(msec). 方法 2:アプリケーション終了時(図 2 の e 点) に揮発性メモリにおいて連続した領域に格納し てある内部データ構造を不揮発メモリに保存す る。次回起動時の各初期化処理終了後(図 2 の a 点)に不揮発メモリに保存されているデータを揮 発メモリにコピーする。 方法 1、2 ともに内部データ構造の中身にはポ インタ情報が含まれているため、不揮発メモリ への保存時に格納されていた揮発メモリの先頭 アドレス、内部データ構造のサイズ等の管理情 報を保存し、次回起動時に使用する。 方法 1 は検証処理直後のデータ構造を保存す るため、保存したデータ構造をそのまま次回起 動時に使用することができる。しかし、一時退 避するための揮発メモリが必要となる欠点があ る。 方法 2 では揮発メモリの使用量が増加すると いう欠点はない。しかし検証処理終了直後とア プリケーション終了時の内部データ構造には状 態差があり[2]、この状態差を解消するため保存 時に以下の処理を行う。 ・ 内部データ構造の状態を検証済みの状態に する。 ・ static フィールドの領域を 0 初期化する。 ・ quick 命令化されたバイトコードを元に戻す。. 3000 2000 1000 0 初回 2回目 JITOFF. アプリ 1. 1.VM起動前処理 START 初期化処理. a 必要な内部データ構造は リストにあるか?. b. 3.VM初期化処理. 4.データ構造のコピー 6.検証処理. 7.JIT動的コンパイル. 8.その他. 評価結果. YES. 【5】おわりに ロードしたクラスの検証処理済みの内部デー タ構造を不揮発メモリに保存し、次回起動時に 再利用することによる起動処理の高速化を検討 し、試作及び評価を行った。JIT 処理を行わない 場合、目標値には達していないもののファイル I/O の小さいビジネス系アプリであれば起動時間 が 1 秒を切る性能を得られた。 今後は本稿対象外としたコンパイル処理、起 動前処理の高速化について検討を行う。. NO. c YES. NO 検証処理. d JIT動的コンパイル. YES 起動に必要なクラスは 他にあるか? NO. 【参考文献】 [1] 高橋克英 他:携帯端末向け Java 高速化手法の 検討,FIT2003,pp79-80,2003 [2] Tim Lindholm,Frank Yellin:Java 仮想マシン 仕様 第 2 版,ピアソン・エデュケーショ ン,2001. 実行. e END. 図 2. アプリ 3. 2.JIT関係初期化処理. 5.クラスロード. 図 3. クラスロード. 内部データ構造は 検証済みか?. アプリ 2. VM 起動処理フロー図. 【4】試作結果 方法 1 はメモリ資源を節約したい携帯端末に. 1−18.
(3)
関連したドキュメント
参考文献 1) K.Matsuoka: Sustained Oscillations Generated by Mutually.. 神経振動子の周波数が 0.970Hz
CN 割り込みが発生した場合、ユーザーは CN ピンに対応する PORT レジスタを読み出す
② 小売電気事業を適正かつ確実に遂行できる見込みがないと認められること、小売供給の業務
戦後考古学は反省的に考えることがなく、ある枠組みを重視している。旧石 器・縄紋・弥生・古墳という枠組みが確立するのは
近年、めざましい技術革新とサービス向上により、深刻なコモディティ化が起きている。例え
る、というのが、この時期のアマルフィ交易の基本的な枠組みになっていた(8)。
実際, クラス C の多様体については, ここでは 詳細には述べないが, 代数 reduction をはじめ類似のいくつかの方法を 組み合わせてその構造を組織的に研究することができる
Using the special C- mount ring adapter, the lens can be directly attached to a CCD camera, enabling it to be used as a low cost image ob- servation lens and variable focus lens