Today アクセスカウンター Yesterday アクセスカウンター

リージョン推論とエスケープ解析

どっちも,従来のようにナイーブに GC まかせなメモリ管理の限界を打ち破ろうとする,効率的なメモリの使い方に関する解析手法らしい.

コンパイラ演習 第12回 (PPT)

リージョン推論ってのは,全メモリ空間を,スタックのような一時記憶領域として管理 (自動的に malloc/free 挿入と同じ感じ) できるようにプログラムを解析することらしい.

SML 処理系の MLKit とかで実際に使われているらしい.

エスケープ解析ってのは,なんでもかんでもヒープにアロケートして GC してたんじゃ遅いから,スタックにアロケートできるオブジェクトはスタックにアロケートできるように,関数を抜けた後に触られるか否かを解析することらしい.

まさしくこことかここで言われているようなこと.

ここらへんの依存型とかリージョン推論とかの発展的な型推論技術は,もう Pierce の,TAPL の続編 Advanced Topics in Types and Programming Languages に普通に載っているぐらいポピュラーなものらしい.東大さんでは,学部の CPU とコンパイラ演習で普通にやってるぐらいだし.

というか,Java SE 6 で,普通に実用化されているらしい.てか,そもそも Java 6 が出てることすら知らんかった… orz (駄目すぎる)

まぁ,どっちも,以前より気合の入った LIPS コンパイラとかでは普通にやられてきていたことだと思うけど,もっと理論的に整理して,型推論という共通の枠組みで統一的に扱えるようになっている,という点が素晴らしいのだと思う.

なんか,TAPL と ATTAPL 読んでないやつは (ry みたいな感じだなー w
ATTAPL 普通に欲しくなってきた.

とりあえず,

Implementation of the Typed Call-by-Value lambda-calculus using a Stack of Regions (1994)

って論文が面白そうでかつページ数も手ごろなので,後で読む.それにしても 1994 かー 古いなー

もう GC なんていつまでも使ってる場合じゃないよ,ホンマ.メモリ管理を手でやるなんて,もってのほかだけど.

どうでも良いけど,こういう広範な解析まで「型推論」というのは,個人的には何か違和感が.かといって,あんまり一般的過ぎる名前付けてもしょうがないしな… (性質推論,とか,属性推論とか)

まぁ,なんと読んでも違和感は残りそうなのでしかたないのか.何かこう,もっと良い呼び方があれば良いのにね.身も蓋も無く言えば,静的検証・解析技術,なんだけど,これはアブストラクトナンセンスでしょう.何も言ってないのと同じ.

コメント

Secret

プロフィール
  • Author:あろは (alohakun)
  • 京都のデバッガベンダーに勤めるアラサー会社員。

    本ブログの内容は,あくまでも個人的な感想や意見であり,会社の意見を代表するものでは一切ありません.

    連絡先 : alohakun ___at___ gmail.com
    mixi : http://mixi.jp/show_friend.pl?id=182927
    twitter : http://twitter.com/alohakun













    あわせて読みたい


    この日記のはてなブックマーク数


    スカウター : ホワット・ア・ワンダフル・ワールド


    Map
FC2カウンター
ブロとも申請フォーム

この人とブロともになる

最近のコメント
リンク
最近のトラックバック
人生の残り日数
日本人男性の平均寿命は 28700日.
RSSフィード
カテゴリー
  1. RSSリーダー