Javaなどのバイトコードプログラムをインタプリタで実行する方法と、コンパイルしてから実行する方法を、次の条件で比較するとき、およそ何行以上のバイトコードであれば、コンパイル方式の方がインタプリ夕方式よりも処理時間(コンパイル時間も含む)が短くなるか。
| [条件] | |
| (1) | 実行時間はプログラムの行数に比例する。 |
| (2) | 同じ100行のバイトコードのプログラムをインタプリタで実行すると0.2秒掛かり、コンパイルしてから実行すると0.003秒掛かる。 |
| (3) | コンパイル時間は100行当たり0.1秒掛かる。 |
| (4) | コンパイル方式の場合は、プログラムの行数に関係なくファイル入出力、コンパイラ起動などのために常に0.15秒のオーバーヘッドが掛かる。 |
| (5) | プログラムファイルのダウンロード時間など、そのほかの時間は無視して考える。 |
| ア | 50 |
| イ | 75 |
| ウ | 125 |
| エ | 155 |
答え エ
【解説】
プログラムのコード行数をn としてコンパイル方式とインタプリタ方式の処理時間を求めると
【キーワード】
・インタプリタ