中間コードが効率的というのは幻想

中間コードの利点の一つはプログラムのサイズが小さくなってリストのスペースを節約できることだといわれる。これは実際のところ幻想である。確かにPRINTやINPUTなどのキーワードは1バイトの値になるから大幅に小さくできる。しかし、通常、キーワードは1行にひとつしかなくてあとは変数や数値である。変数は文字列だと1バイトなのに中間コードは変数を示す1バイトと変数を区別する1バイトの計2バイト。数値は数値を示す1バイトと値のバイナリ2バイトの計3バイトで、99以下は文字列のほうが小さい。しかもプログラムによく登場する数値はだいたい99以下だ。

まあそんな事情でテスト用のプログラムを数えてみたところ文字列よりかえって大きくなっている。たとえば「10 A=1」の6文字で11バイトを要す。実用的な処理を記述すれば(TinyBASICでそんなものが作れると仮定して)それなりの効果があるのかもしれないが、実際のところ中間コードは処理の流れをすっきりさせて実行速度を上げるものと考えるのが妥当だろう。

広告
カテゴリー: TinyBASIC パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中