Javaなどのバイトコードプログラムをインタプリタで実行する方法と,コンパイルしてから実行する方法を,次の条件で比較するとき,およそ何行以上のバイトコードであれば,コンパイル方式の方がインタプリタ方式よりも処理時間(コンパイル時間も含む)が短くなるか。
[条件]
(1)
実行時間はプログラムの行数に比例する。
(2)
同じ100行のバイトコードのプログラムをインタプリタで実行すると0.2秒かかり,コンパイルしてから実行すると0.003秒かかる。
(3)
コンパイル時間は100行あたり0.1秒かかる。
(4)
コンパイル方式の場合は,プログラムの行数に関係なくファイル入出力,コンパイラ起動などのために常に0.15秒のオーバヘッドがかかる。
(5)
プログラムファイルのダウンロード時間など,そのほかの時間は無視して考える。
ア 50
イ 75
ウ 125
エ 155
これは、
平成16年度 秋期
基本情報技術者
午前 問44
です。
答えを a とするとします。
インタプリタでは
1行の実行は
0.2 / 100 = 0.002
です。
コンパイラでは
1行の実行は
0.003 / 100 = 0.00003
です。
コンパイラでは
1行のコンパイルは
0.1 / 100 = 0.001
です。
コンパイラでは
0.15
の準備時間も必要です。
つまり
0.002a > 0.00003a + 0.001a + 0.15
の、a を出せばOKです。
0.002a - 0.00003a - 0.001a > 0.15
↓
(0.002 - 0.00003 - 0.001)a > 0.15
↓
0.00097a > 0.15
↓
a > 0.15 / 0.00097
↓
a > 154.6391753
答え
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
エの、「155」が正解です。
[条件]
(1)
実行時間はプログラムの行数に比例する。
(2)
同じ100行のバイトコードのプログラムをインタプリタで実行すると0.2秒かかり,コンパイルしてから実行すると0.003秒かかる。
(3)
コンパイル時間は100行あたり0.1秒かかる。
(4)
コンパイル方式の場合は,プログラムの行数に関係なくファイル入出力,コンパイラ起動などのために常に0.15秒のオーバヘッドがかかる。
(5)
プログラムファイルのダウンロード時間など,そのほかの時間は無視して考える。
ア 50
イ 75
ウ 125
エ 155
これは、
平成16年度 秋期
基本情報技術者
午前 問44
です。
答えを a とするとします。
インタプリタでは
1行の実行は
0.2 / 100 = 0.002
です。
コンパイラでは
1行の実行は
0.003 / 100 = 0.00003
です。
コンパイラでは
1行のコンパイルは
0.1 / 100 = 0.001
です。
コンパイラでは
0.15
の準備時間も必要です。
つまり
0.002a > 0.00003a + 0.001a + 0.15
の、a を出せばOKです。
0.002a - 0.00003a - 0.001a > 0.15
↓
(0.002 - 0.00003 - 0.001)a > 0.15
↓
0.00097a > 0.15
↓
a > 0.15 / 0.00097
↓
a > 154.6391753
答え
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
エの、「155」が正解です。