From: kjana@... (YANAGAWA Kazuhisa) Date: 1998-10-28T19:57:28+09:00 Subject: [ruby-list:10417] Re: Ruby コンパイラ (Re: Re: 大規模プログラムの友) よたです. 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.