[OSASK 5518] BOARD: Re: エミュレータについて

このメールは、OSASK伝言板に書き込まれた内容です。
この書き込みに返事を書く場合は、下のURLから書き込みを行なって下さい
http://www.imasy.org/~mone/osask/index.cgi?REFER=3e0a6517_7809

2002/12/26 11:10
川合秀実

[OSASK 5517]へのレスです。

>OSASKの開発方針のエミュレータに関する記事に疑問が浮かびました。
>逐次コンパイル型を採用するとのことですが、それはつまり
>JAVAのように起動は遅く、起動してしまえばそれなりに高速
>という風になるのでしょうか。
>ライトユーザからしてみれば、起動が遅いほうが、フラストレーションが
>溜まってしまうもんなんですが・・・。

  それは多分誤解です。「逐次コンパイル型」というのは、「実行時コンパイル
型」とは違います。実行時コンパイル型はコードをロードした時点でコンパイル
をかけてしまいますが、逐次コンパイル型はそういうことはしません。

  本心を言えば、僕は実行時コンパイル型の方が望ましいと思っています。最初
は処理に時間がかかるかもしれませんが、それはそのコンパイル結果をハードデ
ィスクに溜めておけば次回以降は問題無くなるでしょう。しかし、一般にwin32
やLinxバイナリなどは、どこがコードでどこがデータなのかはっきり分かれては
いません。厳密に分けるためには、ダイナミックトレースしなければ分からない
のです。それで、OSASKでは実行時コンパイル型にはできません。javaでは多分
きちんと分かれていて、だから実行時コンパイルができるのでしょう。

  逐次コンパイルというのは、インタプリタみたいなものです。しかし一度実行
した部分はコンパイル結果が内部に蓄積されており、もしその部分をもう一度実
行することがあれば、コンパイル結果の方を利用するというものです。したがっ
て起動時間には響きません。また、自己書き換え型のバイナリにも対応可能です
。



ML番号でジャンプ
ML単語検索