よたです.

In message <199810270754.QAA26793 / picachu.netlab.co.jp>
matz / netlab.co.jp (Yukihiro Matsumoto) writes:

>   * 動的型言語ではコンパイルしても結局はさほど効率は向上しな
>     いことが予想される

  Self のコンパイラでは山程最適化や小細工をかまして「C++ の 50 % の効
  率を達成した」とかいう論文があったような気がしますが.

  もっともその手法が ruby に適用できるのか,とか,そもそも適用してみて
  本当に嬉しいのか,とかはわかりません.

  # 大規模なアプリケーションを利用する場合にはコンパイルして速くなった
  # ら嬉しいわけですが.

> ので,むしろやるならインタプリタの書き換えによる高速が先だろ
> うと思っている,というものです.

  やっぱりこちらの方が実際的でしょうね.普段使ってるような小物スクリプ
  トが速くなるし.

> |昔JavaのJITみたいのができるか聞いたことがあるような気がするけど
> |忘れてしまった。
> 
> 原理的には可能です.しかし,移植性はないし,今の私の手には余
> りますね.

  バイトコードコンパイラっていう話もありましたね.バイトコードコンパイ
  ラ化して,

  1. 普段はスクリプトを実行時にコンパイル/軽い最適化をして走らせる.多
     分構文木よりも最適化は楽だろう.インタプリタの高速化が期待できる....
     かもしれない.

  2. 高度な最適化とバイトコードのダンプを吐くオプションを用意する.で,
     インタプリタが直接このダンプを利用できるようにしておく.巨大であ
     る程度の高速性を要求されるアプリケーションは実行前にコンパイルし
     ておくことができる.

  なんてことを妄想しましたが,とてもめんどうくさそう.少なくとも私の手
  には余る.

  # あまりすぎ (^^;

===========================================================================
  柳川和久 @ 東大阪市 . 大阪府
  kjana / os.xaxon.ne.jp                                   October 28, 1998
No gains without pains.