実行時コード最適化の自動化
スポンサーリンク
概要
- 論文の詳細を見る
実行時のコンテキストについてプログラムを特化することによって、プログラムの性能を飛躍的に向上できる場合がある。実行時に値が決定される定数や、実行中の限られた間だけ有効な値を用いたプログラムでは、それらに依存した計算や制御構造を除去することができる。近年では、部分評価 (partial evaluation) の技法を利用するなどしてプログラムを自動的に特化し、実行時コード生成 (run-time code generation) の技法を使い、そのようなコードを生成することによって実行効率を改善する処理系が提案されている。これらの処理系では、コードを特化するための解析の多くを静的に行うことによって、実行時のコストを小さくしているが、コード生成のコストは実行時間に比べて小さくないので、全体として性能を向上するためには生成したコードが繰り返し実行されなくてはならない。したがって、ある実行時コード生成が性能を改善できるかどうかを判定するためには、プログラムの特化による実行時間の短縮と、そのプログラムが使用される回数が分からなくてはならない。実行時間の短縮は、速度向上解析 (speed up analysis) によって得ることができる。しかし、プログラム中のある部分が実行される回数を解析することは、一般的には不可能である。そのために、プログラマが特化すべき部分を指定しなくてはならなかったリ、コード生成のコストが償却できないようなコード生成をしてしまい、全体としての性能が低下してしてしまったりする。本研究では、インクリメンタルに実行時コード生成を行なうことによって、複雑な解析を必要としないで、従来よりも安全に実行時コード最適化の方法を提案する。はじめにコストの小さい方法を用いて実行時間の短縮をし、さらに何回も実行された場合には、実行時コード生成を用いて、高度に最適化されたコードを生成する。はじめの最適化によって得られる実行時間の短縮を利用してコード生成をするために、従来よりも全体として効率が低下する場合を少なくすることができる。
- 一般社団法人情報処理学会の論文
- 1997-03-12
著者
関連論文
- LZH法における並列データ圧縮技法
- Rubyによる複数資源要約システムの実現
- Rubyによる複数資源要約システムの実現
- モバイルエージエントのためのデータフロー解析とその応用
- 疎な要求駆動型データフロー解析
- 別名情報に基づくレジスタ促進
- May別名除去
- 別名情報による段階的詳細化に基づいた等価式発見
- 依存グラフを用いたコード移動妨害領域の効果的な除去法
- 拡張値グラフを用いた部分無効コード除去法
- 効率的な完全冗長除去
- 拡張値グラフを用いた部分無効コード除去法
- 拡張値グラフに基づく効果的な部分冗長除去法
- 拡張値グラフに基づくコード最適化 : 定数畳込みと強さの軽減
- 部分的無効コードの効率的除去法
- φ-関数移動による効率的な部分的冗長計算除去
- データフローグラフに基づく部分的冗長計算除去の拡張
- ソース言語レベルにおける属性文法の最適化
- H-014 後続要素の予測を利用する系列予測モデル(H分野:生体情報科学)
- 談話構造に基づく語彙選択を行うXMLデータベースからのテキスト生成
- 天気予報を対象としたXML-DBからの動的な文章作成 (2002年情報学シンポジウム 講演論文集--情報社会のセマンティクスXMLとSemantic Web,電子政府への展望,ロボットとの共生) -- (セッション2:XML)
- tf/idf重み付けに基づく動的文書生成
- 階層型ネットワークに基づく動的な意味表現からの日本語文の生成
- 5N-5 情報の濃度に基づく参照表現の生成
- 意味焦点駆動文生成
- 意味焦点駆動文生成
- ソフトウェア工学研究会の歩みを振り返って
- アダプティブな実行時コード最適化
- 範疇文法における格選択制限の一手法
- 日本語文における名詞並列の構造解析
- 分散環塊のための並行オブジェクト指向言語処理系の実行時環境
- 実行時コード最適化の自動化
- データ並列言語における通信と計算のオーバーラップの効果
- データ再利用による分散メモリ上のデータ転送最適化手法
- 高階関数に基づく範疇文法系の日本語への適用 : 表層と深層の語彙主導的な対応づけ
- 範疇単一化文法を日本語ヘ適用する際の付加的な規則について
- 範疇単一化文法に規則を併用した日本語の構文解析
- 英文テキストからの索引自動生成に関する研究
- 並行オブジェクト指向言語yの実行時環境
- 属性文法における属性の並列評価法に関する研究
- 範疇単一化文法の日本語への適用
- 日本語対話文における省略語の補完
- 範疇文法のための関数的な計算機構
- 範疇文法へ単一化文法形式を導入する新たな試み
- 分散メモリにおけるHPF配列要素の有効性解析
- プログラム解析による宣言的仕様の生成と読解支援への応用
- 並行オブジェクト指向言語yにおけるクラス階層の定義と継承
- 並行オブジェクト指向言語yの通信機能
- 長方形メッシュによるデータ分割のアプローチと評価
- 属性文法による楽譜の定式化と自動認識に関する研究
- 階層構造をもつマルチプロセッサにおける階層データ分割分析法
- アクセス パターンを考慮した分散共有メモリ上のデータマッピング手法
- 多重ループに対するプロセッサ割当てアルゴリズムOPTALの高速化
- 多重ループに対するプロセッサ割当てアルゴリズムOPTALの高速化
- 副作用を持つPrologプログラムに対するデバッガの設計と実現
- Prologへの分類階層の導入による拘束充足問題の生成検査解法の高速化 : 集合項による多重継承の取り扱い
- 存在型と部分型をもつオブジェクト計算モデル
- ソフトウェアアーキテクチャ記述言語変換系の設計と実装
- VHDL記述からSFL記述への変換による論理合成プログラムの設計と試作
- 並行プログラムの挙動に対する静的解析
- オブジェクト指向アプローチに基づくハードウェアシミュレータの構築
- パネル討論会 : 構造的プログラミング : 昭和50年度第16回大会報告
- 7207 LISP による算術式のコンバイル